Cod sursa(job #1813214)

Utilizator RazvanatorHilea Razvan Razvanator Data 22 noiembrie 2016 19:58:27
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>

using namespace std;

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

int n,G;
int g[5002],p[5002];
int D[5002][10002];

int maxim(int a,int b)
{
    return a>b?a:b;
}

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

    for(int i=0;i<n;i++)
        fin>>g[i]>>p[i];

    for (int i=0;i<n;i++)
        for (int cw = 0; cw <= G; ++cw)
        {
            D[i][cw] = D[i-1][cw];
            if(g[i] <= cw)
                D[i][cw] = maxim(D[i][cw], D[i - 1][cw - g[i]] + p[i]);
        }
    fout<<D[n][G];

}