Submission
Status:
[PPPPPPPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: C12
Problemset: laracroft
Language: cpp
Time: 0.003 second
Submitted On: 2026-01-01 01:46:10
#include <bits/stdc++.h>
using namespace std;
#define f first
#define s second
#define pii pair<ll,ll>
#define puii pair<ull,ull>
#define piii pair<ll,pii>
#define ll long long
#define ull unsigned long long
#define mp make_pair
#define mpiii(a,b,c) make_pair(a,make_pair(b,c));
// ll mod = 1000000007;
float change[32][32];
float mx[32][32];
void solve(){
int n,mw;
cin >> n >> mw;
ll wt[501];
ll cost[501];
ll dp[2001] = {0};
for(int i = 0;i < n;i++){
cin >> cost[i];
}
for(int i = 0;i < n;i++){
cin >> wt[i];
}
for(int i = 0;i < n;i++){
for(int j = mw;j >= wt[i];j--){
dp[j] = max(dp[j],dp[j-wt[i]] + cost[i]);
}
}
if(dp[mw] == 0){
cout << "0 0";
}
else{
int old_w = mw;
while(dp[old_w-1] == dp[mw] && old_w-1 >= 0){
old_w--;
}
cout << dp[old_w] << ' ' << old_w;
}
return;
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
ll q;
// cin >> q;
// while(q--)
solve();
return 0;
}