Cod sursa(job #1957543)

Utilizator EuEricCiordel Rromeo EuEric Data 7 aprilie 2017 16:46:26
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include<fstream>
using namespace std;
int d[10005];
int main()
{
    ifstream cin("rucsac.in");
    ofstream cout("rucsac.out");
    int n,g,v,G,last=0,maxx=-1;
    cin>>n>>G;
    for(int i=1;i<=G;++i)
        d[i]=-1;
    for(int i=1;i<=n;++i)
    {
        cin>>g>>v;
        for(int j=last;j>=0;--j)
        {
            if(j+g<=G)
            {
                d[j+g]=max(d[j+g],d[j]+v);
                if(j+g>last)
                    last=j+g;
            }

        }
    }
    for(int i=0;i<=G;++i)
        if(d[i]>maxx)
            maxx=d[i];
    cout<<maxx;
    return 0;
}