Submission

Status:

[PPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: NovemNotes

Problemset: laracroft

Language: cpp

Time: 0.004 second

Submitted On: 2026-03-12 11:27:19

#include <bits/stdc++.h>
using namespace std;

#define int long long
const int K = 2009,N = 509;

int n,k;
int dp[K];

pair<int,int> v[N];

int32_t main(){
    ios_base::sync_with_stdio(false);cin.tie(NULL);
    cin >> n >> k;
    for(int i=0;i<n;i++)cin >> v[i].first;
    for(int i=0;i<n;i++)cin >> v[i].second;
    for(int i=0;i<n;i++){
        for(int j=k;j>=v[i].second;j--){
            if(dp[j]<dp[j-v[i].second]+v[i].first && (j==v[i].second || dp[j-v[i].second]!=0)){
                dp[j] = dp[j-v[i].second]+v[i].first;
            }
        }
    }
    int w=0,cnt=0;
    for(int i=0;i<=k;i++){
        if(dp[i]>w){
            w=dp[i];
            cnt=i;
        }
    }
    cout << w << " " << cnt << "\n";
    return 0;
}