Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
143759 吴宗桦 分组背包 C++ 通过 100 2 MS 1056 KB 522 2024-04-18 13:36:35

Tests(15/15):


#include <iostream> using namespace std; int n,m,a[1010],b[1010],c[110][1010],maxn; int f[1010]; int main() { cin>>m>>n; for (int i = 1; i <= n; i++) { int t; cin>>a[i]>>b[i]>>t; maxn = max(maxn,t); c[t][++c[t][0]] = i; } for (int i = 1; i <= maxn; i++) for (int j = m; j >= 0; j--) for (int k = 1; k <= c[i][0]; k++) if (j - a[c[i][k]] >= 0) f[j] = max(f[j],f[j - a[c[i][k]]] + b[c[i][k]]); cout<<f[m]; return 0; }


测评信息: