Submission
Status:
[PPPPPPPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: Ninstroyer
Problemset: laracroft
Language: cpp
Time: 0.004 second
Submitted On: 2026-01-03 14:50:12
#include<bits/stdc++.h>
using namespace std;
const int nx = 505,wx=2005;
int n,s,vl[nx],w[nx],dp[2][wx];
int main()
{
cin>>n>>s;
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++)
{
int cur = i%2, prev = 1-cur;
for(int j = 0; j <= s; j++)
{
dp[cur][j] = dp[prev][j];
if(w[i] > j) continue;
dp[cur][j] = max(dp[cur][j], dp[prev][j-w[i]]+vl[i]);
}
}
cout<<dp[n%2][s]<<" ";
for(int i = 0; i <= s; i++)
{
if(dp[n%2][i] == dp[n%2][s]) return cout<<i, 0;
}
}