Cod sursa(job #1225627)

Utilizator george_stelianChichirim George george_stelian Data 3 septembrie 2014 04:36:07
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <cstdio>

using namespace std;

int v[10010],n,k,x,lim,i,j,a,c,max;

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