Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
114838 | 林泽豪 | 组合总和 | C++ | 解答错误 | 50 | 0 MS | 468 KB | 370 | 2023-12-09 10:24:33 |
#include<bits/stdc++.h> using namespace std; int w[1004],f[1004][1004]; 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; }