Submission

Status:

[PPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: Bestzu

Problemset: laracroft

Language: cpp

Time: 0.005 second

Submitted On: 2026-08-26 16:46:42

#include <bits/stdc++.h>
using namespace std;

int main() {
    ios::sync_with_stdio(false); cin.tie(0);
    
    int N, W;
    cin >> N >> W;
    vector<int> val(N+1), w(N+1);
    for(int i = 1; i <= N; i++) {
        cin >> val[i];
    }
    for(int i = 1; i <= N; i++) {
        cin >> w[i];
    }
    
    vector<vector<int>> dp(N+1, vector<int>(W+1, 0));
    
    for(int i = 1; i <= N; i++) {
        for(int j = 1; j <= W; j++) {
            dp[i][j] = dp[i-1][j];
            if(j - w[i] >= 0) {
                dp[i][j] = max(dp[i][j], dp[i-1][j - w[i]] + val[i]);
            }
        }
    }
    for(int i = 0; i <= W; i++) {
        if(dp[N][i] == dp[N][W]) {
            cout << dp[N][W] << " " << i;
            break;
        }
    }
    return 0;
}