Submission

Status:

[PPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: 12345678

Problemset: laracroft

Language: cpp

Time: 0.004 second

Submitted On: 2025-11-11 09:12:42

#include <bits/stdc++.h>

using namespace std;

const int nx=505, wx=2005;

int n, W, vl[nx], w[nx], dp[nx][wx];
pair<int, int> res;

int main()
{
    cin.tie(NULL)->sync_with_stdio(false);
    cin>>n>>W;
    for (int i=1; i<=n;i ++) cin>>vl[i];
    for (int i=1; i<=n; i++) cin>>w[i];
    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]) dp[i][j]=max(dp[i][j], dp[i-1][j-w[i]]+vl[i]);
        }
    }    
    for (int i=W; i>=0; i--) res=max(res, {dp[n][i], -i});
    cout<<res.first<<' '<<-res.second;
}