Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define pii pair<long,long>
- #define endl "\n"
- #define long long long
- #define v vector
- void setIO(string name, int submit) {
- if (submit) {
- ios_base::sync_with_stdio(0);
- cin.tie(0);
- freopen((name + ".in").c_str(), "r", stdin);
- freopen((name + ".out").c_str(), "w", stdout);
- }
- else{
- ios_base::sync_with_stdio(0);
- cin.tie(0);
- }
- }
- int dp[1001][100001];
- int main() {
- setIO("", 0);
- int N, K;
- cin>>N>>K;
- v<int> price;
- v<int> pages;
- for (int i = 0; i < N; ++i) {
- int num; cin>>num; price.push_back(num);
- }
- for (int i = 0; i < N; ++i) {
- int num; cin>>num; pages.push_back(num);
- }
- for(int i=1; i<=N; i++){
- for(int j=0; j<100001; j++){
- dp[i][j]= dp[i-1][j];
- if(j>=price[i-1] ) dp[i][j]= max(dp[i][j], dp[i-1][j-price[i-1]]+pages[i-1]);
- }
- }
- cout<<dp[N][K]<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment