Cod sursa(job #1044364)

Utilizator PavelPavel Ana-Oriana Pavel Data 29 noiembrie 2013 18:05:42
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<fstream>

using namespace std;

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

const int N = 5001;

int g[N],p[N],v[10001];

int main()
{
    int i,j,n,k;
    v[0]=0;
    in>>n>>k;
    for(j=1;j<=n;j++)
        in>>g[j]>>p[j];
    v[0]=0;
    for(j=1;j<=k;j++)
        v[j]=-1;
    for(i=1;i<=n;i++)
        for(j=k-g[i];j>=0;j--)
            if(v[j]!=-1 && v[j]+p[i]>v[j+g[i]])
                v[j+g[i]]=v[j]+p[i];
    int max = 0;
    for(j=1 ; j<=k ; j++)
        if(v[j] > max)
            max = v[j];
    out<<max<<'\n';
    return 0;
}