Cod sursa(job #2605018)

Utilizator MattiaMattia Iojica Mattia Data 24 aprilie 2020 11:27:35
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <bits/stdc++.h>
#define NMAX 5005
#define GMAX 10005

using namespace std;

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

int w[NMAX], p[NMAX], n, greutate;
int optim[GMAX];

int main()
{
    f >> n >> greutate;

    for(int i = 1; i <= n; i++)
        f >> w[i] >> p[i];

    int sol = 0;

    for(int i = 1; i <= n; i++)
        for(int j = greutate - w[i]; j >= 0; j--)
        {
            if(optim[j + w[i]] < optim[j] + p[i])
            {
                optim[j + w[i]] = optim[j] + p[i];
                if(optim[j + w[i]] > sol)
                    sol = optim[j + w[i]];
            }
        }

    g << sol;


    return 0;
}