51Nod 1085 背包问题
复制代码
1 #include <iostream> 2 #include <algorithm> 3 #include <cstring> 4 using namespace std; 5 6 const int maxn = 1000000 + 5; 7 int v[maxn]; 8 int c[maxn]; 9 int dp[maxn]; 10 11 int main(){ 12 ios::sync_with_stdio(false); 13 int n, w; 14 cin >> n >> w; 15 for (int i = 1; i <= n; i++){ 16 cin >> v[i] >> c[i]; 17 } 18 memset(dp, 0, sizeof(dp)); 19 for (int i = 1; i <= n; i++){ 20 for (int j = w; j >= 0; j--){ 21 if (v[i]<=j) 22 dp[j] = max(dp[j], dp[j - v[i]] + c[i]); 23 } 24 } 25 cout << dp[w] << endl; 26 return 0; 27 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步