Cod sursa(job #1497729)

Utilizator stelian2000Stelian Chichirim stelian2000 Data 7 octombrie 2015 11:12:44
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <cstdio>

using namespace std;

int v[10010];

int main()
{
    freopen("rucsac.in","r",stdin);
    freopen("rucsac.out","w",stdout);
    int maxx=-1,n,m,x,y;
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)
    {
        scanf("%d%d",&x,&y);
        for(int j=m-x;j>=0;j--) if(v[j]>0)
        {
            if(v[j]+y>v[j+x]) v[j+x]=v[j]+y;
            if(v[j+x]>maxx) maxx=v[j+x];
        }
        if(y>v[x]) v[x]=y;
        if(v[x]>maxx) maxx=v[x];
    }
    printf("%d",maxx);
    return 0;
}