提交时间:2023-12-09 10:22:29
运行 ID: 114836
#include<bits/stdc++.h> using namespace std; int w[1000],f[1000][1000]; int main(){ int m,n; cin>>n>>m; for(int i=1;i<=n;i++){ cin>>w[i]; f[1][w[i]]=1; } f[1][0]=1; for(int i=2;i<=m;i++){ for(int v=0;v<=m;v++){ for(int p=1;p<=n&&v-w[p]>=0;p++){ f[i][v]+=f[i-1][v-w[p]]; } f[i][v]=max(f[i-1][v],f[i][v]); } } cout<<f[m][m]; return 0; }