Cod sursa(job #798915)

Utilizator gallexdAlex Gabor gallexd Data 17 octombrie 2012 16:18:28
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include <cstdio>

#define MAX(a,b) (a<b)?b:a

int N,G;
int M[10010];

int main () {

    int w, v;

    freopen("rucsac.in","rt",stdin);
    freopen("rucsac.out","wt",stdout);

    scanf("%d %d", &N, &G);
    for (int i=1; i<=N; ++i) {
        scanf("%d %d", &w, &v);
        for (int j=G; j>=w; --j)
            if (j>=w) M[j] = MAX(M[j], M[j-w] + v);
    }

    printf("%d", M[G]);
    return 0;
}