Cod sursa(job #1907957)

Utilizator rangalIstrate Sebastian rangal Data 6 martie 2017 21:54:00
Problema Problema rucsacului Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
#define in "rucsac.in"
#define out "rucsac.out"
#define max(a,b) (a > b ? a:b)
#define Nmax 838
#define Gmax 10003

using namespace std;

ifstream fin(in);
ofstream fout(out);

int N,G;
int v[Nmax][Gmax];
int W,P;

int main()
{
    fin>>N>>G;

    for(int i=1; i<=N; ++i)
    {
        fin>>W>>P;
        for(int j=1; j<=G; ++j)
        {
            v[i][j] = v[i-1][j];

            if(W <= j)
                v[i][j] = max(v[i][j] , v[i-1][j-W] + P);
        }
    }

    fout<<v[N][G]<<"\n";

    fin.close(); fout.close();
    return 0;
}