1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| const LL N=1e5+86; int main() { //IN;OUT; ios::sync_with_stdio(false); cin.tie(0); LL n,m,v,p,dp[N]; cin>>n>>m; f(i,1,m){ cin>>v>>p; for(int j=n;j>=v;j--){ dp[j]=max(dp[j],dp[j-v]+v*p); } } cout<<dp[n]; return 0; }
|