Cod sursa(job #1443196)

Utilizator FlorinHajaFlorin Gabriel Haja FlorinHaja Data 27 mai 2015 09:30:46
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>

using namespace std;

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

int n, g, maxim = (1 << 63), i, j;
int o[10001];
int gr[5001], cst[5001]; // gr[] - greutate;  cst[] - castig;

int main()
{
    fin >> n >> g;
    for (i = 1; i <= n; i++)
        fin >> gr[i] >> cst[i];

    for (i = 1; i <= n; i++)
        for (j = g-gr[i]; j >= 0; j--)
            if (o[j+gr[i]] < o[j] + cst[i])
            {
                o[j+gr[i]] = o[j] + cst[i];
                if (maxim < o[j+gr[i]])
                    maxim = o[j+gr[i]];
            }

    fout << maxim;
    return 0;
}