Submission
Status:
[PPPPPPPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: krittaphot
Problemset: laracroft
Language: cpp
Time: 0.004 second
Submitted On: 2026-03-06 20:12:15
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,m;
cin >> n >> m;
vector<int> val(n+1);
vector<int> cost(n+1);
for(int i = 1;i<=n;i++){
cin >> val[i];
}
for(int i = 1;i<=n;i++){
cin >> cost[i];
}
vector<vector<int>> dp(n+1,vector<int> (m+1,0));
for(int i = 1;i<=n;i++){
for(int j = 0;j<=m;j++){
dp[i][j] = dp[i-1][j];
if(j-cost[i] >= 0)
dp[i][j] = max(dp[i-1][j],dp[i-1][j-cost[i]] + val[i]);
}
}
int l = 1;
if(dp[n][m] == 0){
cout << 0 << " " << 0;
return 0;
}
while(m-l >= 0 && dp[n][m] == dp[n][m-l]){
l++;
}
cout << dp[n][m] << " " << m-l+1;
}