9 条题解
- 
  1
#include<bits/stdc++.h> using namespace std; const int N = 1000+10; int m , w[N] , c[N] , dp[1010] , n; int main(){ cin >> m >> n; for(int i = 1;i <= n;i++) cin >> w[i] >> c[i]; for(int i = 1;i <= n;i++) for(int j = m;j >= w[i];j--) { if(w[i] > j) dp[j] = dp[j]; else dp[j] = max(dp[j] , dp[j - w[i]] + c[i]); } cout << dp[m]; return 0; } 
信息
- ID
 - 678
 - 时间
 - 1000ms
 - 内存
 - 256MiB
 - 难度
 - 5
 - 标签
 - 递交数
 - 528
 - 已通过
 - 186
 - 上传者