#include<iostream> #include<algorithm> #include<string.h> using namespace std; int main(){ int m,n; while(cin>>m>>n){ int dp[m+1],w[n],v[n]; for(int i=0;i<n;i++){ cin>>w[i]>>v[i]; } memset(dp,0,sizeof(dp)); for(int i=0;i<n;i++){ for(int j=m;j>=w[i];j--){ dp[j]=max(dp[j],dp[j-w[i]]+v[i]); } } cout<<dp[m]<<endl; } } |
Double click to view unformatted code.