Submission
Status:
[xSSSSSSSSSSSSSS]
Subtask/Task Score:
{0/100}
Score: 0
User: House123
Problemset: laracroft
Language: cpp
Time: 0.003 second
Submitted On: 2026-03-12 02:09:41
#include <bits/stdc++.h>
using namespace std;
vector<int> dp(2e3+1);
int main(){
ios_base::sync_with_stdio(false), cin.tie(0);
int n,w;
cin >> n >> w;
vector<int> weight(n);
vector<int> val(n);
for(auto &k : weight) cin >> k;
for(auto&k : val) cin >> k;
for(int i = 0; i < n;i++){
for(int j = w; j >= weight[i];j++){
dp[j] = max(dp[j],dp[j-weight[i]] + val[i]);
}
}
int max_val = dp[w];
int index;
for(int i = w; i >= 0;i--){
if(dp[i] == max_val){
index = i;
} else {
break;
}
}
cout << dp[w] << " " << index;
return 0;
}