Cod sursa(job #2143656)

Utilizator mirelPmirel p mirelP Data 26 februarie 2018 10:10:52
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>

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

int n,G,p,g,j,i,last,pmax,d[10005];

int main()
{
    fin>>n>>G;
    for(i=1;i<=G;i++)
        d[i]=-1;
    for(i=1;i<=n;i++)
    {
        fin>>g>>p;
        for(j=last;j>=0;j--)
        {
            if(j+g>G)
                continue;
            if(d[j]!=-1)
            {
                if(d[j+g]<d[j]+p)
                    d[j+g]=d[j]+p;
                if(j+g>last)
                    last=j+g;

            }


        }
    }
    for(j=G;j>=1;j--)
        if(d[j]>pmax)
        pmax=d[j];
    fout<<pmax;

    return 0;
}