Cod sursa(job #1028142)

Utilizator laurageorgescuLaura Georgescu laurageorgescu Data 13 noiembrie 2013 18:08:06
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<fstream>
#include<algorithm>
using namespace std;
int v[5001],p[5001],d[10001];
void init(int g)
{
    for (int i=1;i<=g;++i)
        d[i]=-1;
}
int main()
{
    ifstream in ("rucsac.in");
    ofstream out ("rucsac.out");
    int n,g,i,mx;
    in>>n>>g;
    for (i=0;i<n;++i)
        in>>v[i]>>p[i];
    init(g);
    d[0]=0;
    for (int j=0;j<n;++j)
        for (i=g-v[j];i>-1;--i)
            if (d[i+v[j]]<d[i]+p[j])
                d[i+v[j]]=d[i]+p[j];
    mx=0;
    for (i=1;i<=g;++i)
        if (mx<d[i])
            mx=d[i];
    out<<mx<<'\n';
    in.close();
    out.close();
    return 0;
}