Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- int t,w[103],v[103],dp[103][103];
- int val(int id,int remw)
- {
- if(remw==0)return 0;
- if(id==t)return 0;
- if(dp[id][remw])return dp[id][remw];
- if(w[id]>remw)
- return dp[id][remw]=val(id+1,remw);
- else if(w[id]<=remw)
- return dp[id][remw]=max(val(id+1,remw),v[id]+val(id+1,remw-w[id]));
- }
- int main()
- {
- int tw,g,re;
- scanf("%d",&t);
- for(g=0;g<t;g++)scanf("%d",&v[g]);
- for(g=0;g<t;g++)scanf("%d",&w[g]);
- scanf("%d",&tw);
- re=val(0,tw);
- printf("%d\n",re);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement