ac的代码:
int f[110];//表示选前i种花,还剩j盆空间的花的方案数
int n, m, a[110];
int mod = 1000007;
int main()
{
cin >> n >> m;
for (int i = 1; i <= n; i++) cin >> a[i];
f[0] = 1;
for (int i = 1; i <= n; i++)
for (int j = m; j >= 0; j--)
for (int k = 1; k <= a[i] && k <= j; k++)
f[j] = (f[j - k] + f[j]) % mod;
cout << f[m];
return 0;
}
但是当我改k从0开始就错了,我不知道为什么?有大佬可以详细解释一下吗谢谢