Cod sursa(job #1811740)

Utilizator Ruben2015Parvu Ruben Ruben2015 Data 21 noiembrie 2016 15:46:06
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("rucsac.in");
ofstream g ("rucsac.out");
int a[10005],n,i,j,gmax,lmax,x,y,sol;
void initializare ()
{
    for(i=1;i<=gmax;i++)
    a[i]=-1;
}
int main()
{ f>>n>>gmax;
initializare();
f>>x>>y;
lmax=x;
a[x]=y;
for(i=2;i<=n;i++)
    {
        f>>x>>y;
        for(j=lmax;j>=0;j--)
        {
            if(a[j]!=-1&&x+j<=gmax)
            {
                a[x+j]=max(y+a[j],a[x+j]);
                sol=max(sol,a[x+j]);
                lmax=max(lmax,x+j);
            }
        }
    }
  g<<sol;
    return 0;
}