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;
}