1 solutions
-
0
C++ :
#include <iostream> using namespace std; const int maxn=1e3+10; int dp[maxn][maxn]; int w[maxn],v[maxn]; int m,n; int main() { cin>>m>>n; for(int i=1;i<=n;i++){ cin>>w[i]>>v[i]; } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++) dp[i][j]=dp[i-1][j]; for(int j=w[i];j<=m;j++){ dp[i][j]=max(dp[i][j],dp[i-1][j-w[i]]+v[i]); } } cout<<dp[n][m]; }
- 1
Information
- ID
- 38
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 5
- Tags
- # Submissions
- 5
- Accepted
- 4
- Uploaded By