Submission

Status:

[PPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: C12

Problemset: laracroft

Language: cpp

Time: 0.003 second

Submitted On: 2026-01-01 01:46:10

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

#define f first
#define s second
#define pii pair<ll,ll>
#define puii pair<ull,ull>
#define piii pair<ll,pii>
#define ll long long
#define ull unsigned long long
#define mp make_pair
 
#define mpiii(a,b,c) make_pair(a,make_pair(b,c));
// ll mod = 1000000007;

float change[32][32];
float mx[32][32];

void solve(){
    int n,mw;

    cin >> n >> mw;

    ll wt[501];
    ll cost[501];
    ll dp[2001] = {0};

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

    for(int i = 0;i < n;i++){
        for(int j = mw;j >= wt[i];j--){
            dp[j] = max(dp[j],dp[j-wt[i]] + cost[i]);
        }
    }

    if(dp[mw] == 0){
        cout << "0 0";
    }
    else{
        int old_w = mw;
        while(dp[old_w-1] == dp[mw] && old_w-1 >= 0){
            old_w--;
        }
        cout << dp[old_w] << ' ' << old_w;
    }

    return;
}
int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);

    ll q;
 
    // cin >> q;

    // while(q--)
        solve(); 

    return 0;
}