Cod sursa(job #1292677)

Utilizator lucian.okapiNestian Lucian-Dan lucian.okapi Data 14 decembrie 2014 16:58:50
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#include <fstream>
#define nmax 10009
using namespace std;

int G,c[nmax],v[nmax],a[nmax],b[nmax],n;

void Cit()
{
    ifstream fin("kl.in");
    int i;
    fin>>n>>G;
    for(i=1;i<=n;i++)
        fin>>c[i]>>v[i];
    fin.close();
}

void Rez()
{
    int pas,j,maxim;
    a[c[1]]=v[1];
    for(pas=2;pas<=n;pas++)
    {
        for(j=0;j<=G;j++)
        {
            b[j]=a[j];
            if(c[pas]<j)
            b[j]=max(b[j],a[j-c[pas]]+v[pas]);
        }
        for(j=0;j<=G;j++)
            a[j]=b[j];
    }
    maxim=a[1];
    for(j=1;j<=G;j++)
        maxim=max(a[j],maxim);
    cout<<maxim;
}
int main()
{
    Cit();
    Rez();
    return 0;
}