Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- int main(int argc, char const *argv[])
- {
- int n;
- scanf("%d", &n);
- int weight[n+1], price[n+1];
- long long dp[n+2][1005];
- for (int i=1; i<=n; i++)
- scanf("%d", weight+i);
- for (int i=1; i<=n; i++)
- scanf("%d", price+i);
- for (int i=0; i<=n; i++) {
- for (int j=0; j<=1002; j++) {
- if (i==0 || j==0)
- dp[i][j]=0;
- else if (j>=weight[i])
- dp[i][j]=max(dp[i-1][j], price[i]+dp[i-1][j-weight[i]]);
- else
- dp[i][j]=dp[i-1][j];
- }
- }
- int m, x;
- scanf("%d", &m);
- while (m--) {
- scanf("%d", &x);
- printf("Loudly: %lld\n", dp[n][x]);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement