| Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 80393 | sh25_wangtaojie | 最大价值 | C++ | 通过 | 0 MS | 244 KB | 631 | 2026-01-04 15:15:26 |
#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int t, m; cin >> t >> m; vector<int> time(m + 1), value(m + 1); for (int i = 1; i <= m; ++i) { cin >> time[i] >> value[i]; } vector<vector<int>> dp(m + 1, vector<int>(t + 1, 0)); for (int i = 1; i <= m; ++i) { for (int j = 0; j <= t; ++j) { dp[i][j] = dp[i - 1][j]; if (j >= time[i]) { dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - time[i]] + value[i]); } } } cout << dp[m][t] << endl; return 0; }