Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- const int N=1005;
- int c,n;
- int w[N],v[N];
- int dp[N][N];
- int main(){
- while(scanf("%d%d",&c,&n)!=EOF){
- memset(dp,0,sizeof(dp));
- for(int i=1;i<=n;i++){
- cin>>w[i]>>v[i];
- }
- for(int i=1;i<=n;i++){
- for(int j=1;j<=c;j++){
- if(j<w[i]){
- dp[i][j]=dp[i-1][j];
- }else{
- dp[i][j]=max(dp[i-1][j],dp[i-1][j-w[i]]+v[i]);
- }
- }
- }
- cout<<dp[n][c]<<endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement