Cod sursa(job #1546973)

Utilizator NicolaalexandraNicola Alexandra Mihaela Nicolaalexandra Data 8 decembrie 2015 21:30:04
Problema Problema rucsacului Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>

using namespace std;

int n,g,i,gr[5001],p[5001],d[5001],x,j,maxim;

ifstream fin ("rucsac.in");

ofstream fout ("rucsac.out");

int main (){

    fin>>n>>g;
    for (i=1;i<=n;i++){
        fin>>gr[i]>>p[i];

    }

    //for (i=1;i<=5001;i++)
//    x = -1;
    maxim = 0;
    d[0] = 0;
    for (i=1;i<=n;i++){
        for (j=g;j>=gr[i];j--){
            //if (j+gr[i] < g)
            d[j] = max ( d[j] , d[j-gr[i]] + p[i]);
            if (d[j] > maxim)
                maxim = d[j];

        }
    }
    fout<<maxim;
  /*  for (i=5000;i>=0;i--)
        if (d[i] != -1){
            fout<<d[i];
            break;
        }
*/
    return 0;
}