Cod sursa(job #3030199)

Utilizator stefandutastefandutahoria stefanduta Data 17 martie 2023 15:52:05
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>
#include <algorithm>
#define NMAX 5005
#define GMAX 10005

using namespace std;

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

struct ok{
    int v, g;
};

ok a[NMAX];
int dp[GMAX];

int main()
{
    int n, i, j, gmax;
    in >> n >> gmax;
    for (i = 1; i <= n; ++i)
        in >> a[i].g >> a[i].v;

    for (i = 1; i <= n; ++i)
    {
        for (j = 0; j <= gmax; ++j)
        {
            if (j >= a[i].g)
            {
                dp[j - a[i].g] = max(dp[j - a[i].g], dp[j] + a[i].v);
            }
        }
    }

    int maxx = -1;
    for (i = 0; i <= gmax; ++i)
        maxx = max(maxx, dp[i]);

    out << maxx;
    return 0;
}