Submission

Status:

[-SSSSSSSSSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: Nay-O

Problemset: laracroft

Language: cpp

Time: 0.002 second

Submitted On: 2026-03-17 22:45:35

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

ll dp[2005][505];

int main(){
	ios_base::sync_with_stdio(false); cin.tie(NULL);
	
	int n,m; cin>>n>>m;
	int v[n], w[n];
	
	for(int i = 0; i < n; i++){
		cin>>v[i];
	}
	
	for(int i = 0; i < n; i++){
		cin>>w[i];
	}
	
	for(int i = 1; i <= m; i++){
		for(int j = 1; j <= n; j++){
			if(w[j-1]> i){
				dp[i][j]=dp[i][j-1];
				continue;
			}
			dp[i][j]=max(dp[i][j-1],dp[i-w[j-1]][j-1]+v[j-1]);
		}
	}
	
	int a = m;
	
	while(dp[a][n]==dp[a-1][n]){
		a--;
	}
	cout << dp[m][n] << " " << a;
	
	return 0;
}