Cod sursa(job #1499882)

Utilizator Julian.FMI Caluian Iulian Julian. Data 11 octombrie 2015 11:49:10
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <iostream>
#include <fstream>
#define gmax 10001
#define nmax 5001
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");

int d[nmax][gmax],g[nmax],pr[nmax];

int main()
{int n,gre,i,j,w;
    fin>>n>>gre;
    for(i=1;i<=n;i++)
        fin>>g[i]>>pr[i];

    for(i=0;i<=n;i++)
        for(j=1;j<=gre;j++)
        d[i][j]=-1;


for(w=1;w<=gre;w++)
    for(i=1;i<=n;i++)
    {d[i][w]=d[i-1][w];
    if(g[i]<=w && d[i-1][w-g[i]]!=-1 && d[i][w]<d[i-1][w-g[i]]+pr[i])
        d[i][w]=d[i-1][w-g[i]]+pr[i];
    }

fout<<d[n][gre];

}