本人用的是dp
#include <iostream>
using namespace std;
int n,m,w[105],dp[10005],ans = -999999999,cnt;
int main(){
scanf("%d%d",&n,&m);
for(int i = 1;i <= n;i++){
scanf("%d",&w[i]);
}
for(int i = 1;i <= n;i++){
for(int j = m;j >= w[i];j--){
dp[j] = max(dp[j],dp[j-w[i]]+w[i]);
if(dp[j] == m) cnt++;
}
}
printf("%d",cnt);
}