Cod sursa(job #1548172)

Utilizator dalexandraDinca Alexandra-Maria dalexandra Data 10 decembrie 2015 17:09:51
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int profit[10001];

int main()
{
    int g[10001],p[10001];
    int i,j,n,G,maxim=0;
    fin>>n>>G;
    for(i=1;i<=n;i++)
        fin>>g[i]>>p[i];
    for(i=1;i<=G;i++)
        profit[i]=-1;
    profit[0]=0;
    for(i=1;i<=n;i++)
        for(j=G;j>=g[i];j--)
            if(profit[j-g[i]]!=-1 && profit[j-g[i]]+p[i]>profit[j])
                profit[j]=profit[j-g[i]]+p[i];
    for(i=1;i<=G;i++)
        if(profit[i]>maxim)
            maxim=profit[i];
    fout<<maxim;
}