Cod sursa(job #3352230)

Utilizator eric_dragosDragos Eric eric_dragos Data 25 aprilie 2026 12:07:34
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int main(){
    int n,w;
    cin >> n >> w;
    vector<int> vals(n+1), weights(n+1);
    vector<vector<int>> dp(n+1, vector<int>(w+1, 0)); 
    for(int i = 1; i<=n; i++){
        cin >> weights[i] >> vals[i];
    } 
    for(int i = 1; i<=n; i++){
        for(int j = 1; j<=w; j++){
            if(weights[i] <= j) dp[i][j] = max(dp[i-1][j], vals[i] + dp[i-1][j-weights[i]]);
            else dp[i][j] = dp[i-1][j];
        }
    }
    // for(int i = 0; i<=n; i++){
    //     for(int j = 0; j<=w; j++){
    //         cout << dp[i][j] << ' ';
    //     }
    //     cout << '\n';
    // }
    cout << dp[n][w];

    return 0;
}