#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,m,a[105],d[1005];
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
d[0] = 1;
for(int i=1;i<=n;i++)
{
for(int j=m;j>=a[i];j--)
{
d[j]=d[j]+d[j-a[i]];
}
}
cout<<d[m];
return 0;
}
以上这个代码爆零,但是把变量定义移出去就A了
why?