Submission

Status:

[PPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: mantaggez

Problemset: laracroft

Language: cpp

Time: 0.002 second

Submitted On: 2026-03-11 15:26:02

#include <bits/stdc++.h>

using namespace std;

const int nx = 5e2+5;
const int wx = 2e3+5;

int N, W, g[nx], w[nx], dp[wx];

int main()
{
    cin.tie(NULL)->sync_with_stdio(false);
    cin >> N >> W;
    for(int i=1;i<=N;i++) cin >> g[i];
    for(int i=1;i<=N;i++) cin >> w[i];

    for(int i=1;i<=N;i++)
    {
        for(int j=W;j>=w[i];j--)
        {
            dp[j] = max(dp[j], dp[j - w[i]] + g[i]);
        }
    }
    
    pair<int, int> res {0,0};
    for(int i=1;i<=W;i++)
        if(dp[i] > res.first) res = {dp[i], i};
    
    cout << res.first << ' ' << res.second ;

    return 0;
}