Cod sursa(job #1029229)

Utilizator asortofBarbu Iulian asortof Data 15 noiembrie 2013 10:20:19
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>

using namespace std;

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

struct ob
{
    int g,c;
};

ob a[5001];
int n,G,Max=0,l[10001],mx=0;

void pd()
{
    int i,j;
    for(i=1; i<=G; i++)
    {
        for(j=Max; j>=0; j--)

            if(l[j]!=-1)

                l[j+a[i].g]=l[j]+a[i].c;

        Max+=a[i].g;
    }
}


int main()
{
    int i;
    fin>>n>>G;
    for(i=1; i<=n; i++)
    {
        fin>>a[i].g>>a[i].c;
    }

    for(i=1;i<=G;i++)
        l[i]=-1;
    l[0]=0;
    pd();
    for(i=1; i<=G; i++)
        if(mx<l[i])mx=l[i];
    fout<<mx;


    return 0;
}