上代码
#include<bits/stdc++.h>
using namespace std;
int m,n,dp[105][10005],w[35];
int main(){
scanf("%d%d",&m,&n);
for(int i=1;i<=n;i++){
scanf("%d",&w[i]);
}
for(int i=1;i<=n;i++){
for(int j=w[i];j<=m;j++){
if(j==w[i])dp[i][j]=dp[i-1][j]+1;
if(j>w[i])dp[i][j]=dp[i-1][j]+dp[i-1][j-w[i]];
if(j<w[i])dp[i][j]=dp[i-1][j];
}
}
printf("%d",dp[n][m]);
return 0;
}
#1WA#2WA#3WA#4WA#5WA
#6WA#7RE#8RE#9WA#10RE
#11WA