Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
114704 | 梁颢城 | 完全背包问题 | C++ | 解答错误 | 0 | 0 MS | 252 KB | 483 | 2023-12-09 08:37:09 |
#include <iostream> #include <vector> using namespace std; int main() { int M, N; cin >> M >> N; vector<int> weight(N), value(N); for (int i = 0; i < N; i++) { cin >> weight[i] >> value[i]; } vector<int> dp(M + 1, 0); for (int i = 0; i < N; i++) { for (int j = weight[i]; j <= M; j++) { dp[j] = max(dp[j], dp[j - weight[i]] + value[i]); } } cout << dp[M] << endl; return 0; }