Submission
Status:
[PPPPPPPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: nik121416
Problemset: laracroft
Language: cpp
Time: 0.002 second
Submitted On: 2026-03-18 15:00:15
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,m;
cin >> n >> m;
vector<int> weigth(n);
vector<int> value(n);
for(int i = 0 ;i < n;i++){
cin >> value[i];
}
for(int i = 0; i < n ;i++){
cin >> weigth[i];
}
vector<int> dp(2501,0);
for(int i = 0; i < n;i++){
for(int j = m;j >= weigth[i];j--){
if(j-weigth[i] >=0){dp[j] = max(dp[j],dp[j-weigth[i]] + value[i]);}
}
}
int mx = INT_MIN;
int idx;
for(int i = 0 ; i <= m;i++){
if(dp[i] > mx) mx = dp[i];
}
for(int i = 0;i<=m;i++){
if(dp[i] == mx){
idx = i;
break;
}
}
if(mx >0){
cout << mx << ' '<< idx;
}
else{
cout << "0 0";
}
}