Cod sursa(job #2251779)

Utilizator NicuCNicu Capatina NicuC Data 1 octombrie 2018 22:35:45
Problema Problema rucsacului Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int n,Gmax,G,V,i,j,pd[5001][10001],W[5001],P[5001],V1;

int main()
{
    fin>>n>>Gmax;
    for(i=1; i<=n; i++)
    {
        fin>>G>>V;
        if(V1 == 0)
            V1=V;
        W[i]=G;
        P[i]=V;
        pd[1][G]=V1;
    }

    for(i=1; i<=n; i++)
    {
        for(j=1; j<=Gmax; j++)
            if(j-W[i]>= 0)
                pd[i][j]=max(pd[i-1][j],pd[i-1][j-W[i]]+P[i]);
            else
                pd[i][j]=pd[i-1][j];
    }
    fout<<pd[n][Gmax];
    return 0;
}