思路
代码
#include <iostream>
#include <algorithm>
using namespace std;
const int N=1010;
int n,m,b,mod;
long long sum;
long long f[N][N],a[N];
int i,j,k;
int main()
{
cin>>n>>m>>b>>mod;
for(i = 1; i <= n; i++)
{
cin>>a[i];
}
f[0][0] = 1;
for(i = 1; i <= n; i++)
{
for(j = 1; j <= m; j++)
{
for(k = a[i]; k <= b; k++)
{
f[j][k] += f[j - 1][k - a[i]];
f[j][k] %= mod;
}
}
}
sum = 0;
for(i = 0; i <= b; i++)
{
sum += f[m][i];
sum %= mod;
}
cout<<sum;
return 0;
}