Cod sursa(job #3167533)

Utilizator Ruxandra009Ruxandra Vasilescu Ruxandra009 Data 10 noiembrie 2023 19:58:14
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
#include <climits>

using namespace std;

ifstream f("rucsac.in");
ofstream g("rucsac.out");

struct object
{
    int val, gr;
}a[5005];
int n, G, dp[10005];

int main()
{
    f >> n >> G;
    for(int i = 1; i <= n; i ++)
        f >> a[i].gr >> a[i].val;

    for(int i = 1; i <= G; i ++)
        dp[i] = INT_MIN;

    for(int j = 1; j <= n; j ++)
        for(int i = G; i >= 1; i --)
            if(a[j].gr <= i)
                dp[i] = max(dp[i], dp[i - a[j].gr] + a[j].val);

    int maxi = 0;
    for(int i = 1; i <= G; i ++)
        maxi = max(maxi, dp[i]);

    g << maxi;
    return 0;
}