Cod sursa(job #3166198)

Utilizator misu_LIXulescu Vasile misu_L Data 7 noiembrie 2023 21:10:46
Problema Problema rucsacului Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
/// met 1: dinamica pe 2 dimensiuni memorie n*g

#include <fstream>

using namespace std;

ifstream cin("rucsac.in");
ofstream cout("rucsac.out");

int n, GMax, v[5002], w[5002], dp[5002][10002];

int main()
{
    cin >> n >> GMax;
    for (int i = 1; i <= n; i++)
        cin >> w[i] >> v[i];

    for (int i = 1; i <= n; i++) {
        for (int g = 0; g <= GMax; g++) {
            dp[i][g] = dp[i-1][g];
            if (w[i] <= g) {
                dp[i][g] = max(dp[i][g], dp[i-1][g-w[i]]+v[i]);
            }
        }
    }

    cout << dp[n][GMax];

    return 0;
}