Submission

Status:

[PPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: Ninstroyer

Problemset: laracroft

Language: cpp

Time: 0.004 second

Submitted On: 2026-01-03 14:50:12

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

const int nx = 505,wx=2005;

int n,s,vl[nx],w[nx],dp[2][wx];

int main()
{
    cin>>n>>s;
    for(int i = 1; i <= n; i++) cin>>vl[i];
    for(int i = 1; i <= n; i++) cin>>w[i];
    for(int i = 1; i <= n; i++)
    {
        int cur = i%2, prev = 1-cur;
        for(int j = 0; j <= s; j++)
        {
            dp[cur][j] = dp[prev][j];
            if(w[i] > j) continue;
            dp[cur][j] = max(dp[cur][j], dp[prev][j-w[i]]+vl[i]);
        }
    }

    cout<<dp[n%2][s]<<" ";
    for(int i = 0; i <= s; i++)
    {
        if(dp[n%2][i] == dp[n%2][s]) return cout<<i, 0;
    }
}