Cod sursa(job #999509)

Utilizator emiemiEmi Necula emiemi Data 20 septembrie 2013 16:36:14
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int m,ma,j,i,n,gr,v[20001],x,y;
int mini(int a,int b)
{
    if(a<b)
    return a;
    return b;
}
int maxi(int a,int b)
{
    if(a>b)
    return a;
    return b;
}
int main()
{
    f>>n>>gr;
    for(j=1;j<=n;++j)
    {
        f>>x>>y;
        for(i=m;i>=1;--i)
        if(v[i]&&v[i+x]<v[i]+y)
        v[i+x]=v[i]+y;
        v[x]=maxi(v[x],y);
        m=mini(m+x,gr);
    }
    for(i=1;i<=gr;++i)
    if(v[i]>ma)
    ma=v[i];
    g<<ma<<'\n';
    return 0;
}