Submission

Status:

[PPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: Chawin

Problemset: laracroft

Language: cpp

Time: 0.002 second

Submitted On: 2026-03-07 22:09:08

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

using ll = long long int;

int main(){
    ios_base::sync_with_stdio(0), cin.tie(0);

    int n, w;
    cin >> n >> w;

    vector<int> value(n);
    vector<int> weight(n);

    for(int i = 0; i < n; i++){
        cin >> value[i];
    }
    for(int i = 0; i < n; i++){
        cin >> weight[i];
    }

    vector<ll> dp(w+1, 0);

    for(int i = 0; i < n; i++){
        for(int j = w; j >= weight[i]; j--){
            dp[j] = max(dp[j], dp[j - weight[i]] + value[i]);
        }
    }

    ll mxValue = 0;
    int mnWeight = 0;

    for(int i = 0; i <= w; i++){
        if(dp[i] > mxValue){
            mxValue = dp[i];
            mnWeight = i;
        }
        else if(dp[i] == mxValue && i < mnWeight){
            mnWeight = i;
        }
    }

    cout << mxValue << " " << mnWeight;

    return 0;
}