Cod sursa(job #1274969)

Utilizator japjappedulapPotra Vlad japjappedulap Data 24 noiembrie 2014 17:00:33
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>
using namespace std;

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

int N, G, v[10007], g[10007];
int lc = 1, lp;
int D[2][10007];

int main()
{
    is >> N >> G;
    for (int i = 1; i <= N; ++i)
        is >> g[i] >> v[i];
    for (int i = 1; i <= N; ++i, lc = !lc, lp = !lp)
    {
        for (int j = 0; j <= G; ++j)
            if (j >= g[i])
                D[lc][j] = max(D[lp][j-g[i]] + v[i], D[lp][j]);
            else
                D[lc][j] = D[lp][j];
    }
    os << D[lp][G];
    is.close();
    os.close();
}