Submission

Status:

[PPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: nik121416

Problemset: laracroft

Language: cpp

Time: 0.002 second

Submitted On: 2026-03-18 15:00:15

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

int main(){
    int n,m;
    cin >> n >> m;
    vector<int> weigth(n);
    vector<int> value(n);
    for(int i = 0 ;i < n;i++){
        cin >> value[i];
    }
    for(int i =  0; i < n ;i++){
        cin >> weigth[i];
    }
    vector<int> dp(2501,0);
    for(int i = 0; i < n;i++){
        for(int j = m;j >= weigth[i];j--){
            if(j-weigth[i] >=0){dp[j] = max(dp[j],dp[j-weigth[i]] + value[i]);}
        }
    }
    int mx = INT_MIN;
    int idx;
    for(int i = 0 ; i <= m;i++){
        if(dp[i] > mx) mx = dp[i];
    }
    for(int i = 0;i<=m;i++){
        if(dp[i] == mx){
            idx = i;
            break;
        }
    }
    if(mx >0){
        cout << mx << ' '<< idx;
    }
    else{
        cout << "0 0";
    }
}