Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define taskname "STARTUP"
- using namespace std;
- vector<pair<int,int> > v;
- int a[105][1005]{0};
- int main(){
- freopen(taskname".inp","r",stdin );
- freopen(taskname".out","w",stdout);
- int c, k, n;
- cin >> c >> k >> n;
- int tmp1, tmp2;
- v.push_back({0,0});
- for(int i=1; i<=n; i++){
- cin >> tmp1 >> tmp2;
- v.push_back({tmp1,tmp2});
- }
- for(int i=1; i<=n; i++)
- for(int j=1; j<=c; j++)
- if(j>=v[i].first)
- a[i][j]=max(a[i-1][j-v[i].first]+v[i].second,a[i-1][j]);
- else a[i][j]=a[i-1][j];
- cout << a[n][c]*k-c;
- }
Advertisement
Add Comment
Please, Sign In to add comment