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