Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
146203 | 王容宇 | 收益 | C++ | 通过 | 100 | 1 MS | 644 KB | 544 | 2024-05-08 22:16:31 |
#include <bits/stdc++.h> using namespace std; int w[100000]; int v[100000]; int dp[100000]; void p() { int s, n, d; cin >> s >> n >> d; for(int i = 1; i<=d; i++) { cin >> w[i] >> v[i]; } for(int i = 1; i<=n; i++) { for(int j = 1; j<=d; j++) { for(int k = w[j]/1000; k<=s/1000; k++) { dp[k]=max(dp[k],dp[k-w[j]/1000]+v[j]); } } s+=dp[s/1000]; memset(dp,0,sizeof(dp)); } cout << s << endl; } int main() { int t; cin >> t; for(int i = 1; i<=t; i++) { p(); } return 0; }