实用指南:完全背包-模板
P1616 疯狂的采药 - 洛谷

Solution
#include
#include
using namespace std;
const int max_t = 1e7 + 5;
const int max_m = 1e4 + 5;
int t, m;
int w[max_m], v[max_m];
int main() {
cin >> t >> m;
for (int i = 0; i > w[i] >> v[i];
}
vectordp(t + 1, 0);
for (int i = 0; i < m; ++i) {
for (int j = w[i]; j <= t; ++j) {
dp[j] = max(dp[j], dp[j - w[i]] + v[i]);
}
}
cout << dp[t];
return 0;
}
浙公网安备 33010602011771号