Cod sursa(job #1327098)

Utilizator demetriad-dagpagDavid Demetriad demetriad-dagpag Data 26 ianuarie 2015 13:09:04
Problema Problema rucsacului Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.59 kb
#include <stdio.h>
#include <stdlib.h>
int e[10001];
int v[10001];
int m(int x,int y)
{
    if(x>y)
        return x;
    return y;
}
int main()
{
    int n,g,i,w,p,j,max;
    freopen("rucsac.in","r",stdin);
    freopen("rucsac.out","w",stdout);
    scanf("%d%d",&n,&g);
    e[0]=1;
    for(i=1; i<=n; i++)
    {
        scanf("%d%d",&w,&p);
        for(j=g-w; j>=0; j--)
            if(e[j]==1)
                v[j+w]=m(v[j+w],v[j]+p),e[j+w]=1;
    }
    max=0;
    for(i=1; i<=g; i++)
        if(v[i]>max)
            max=v[i];
    printf("%d",max);

    return 0;
}