Cod sursa(job #1527102)

Utilizator vladdy47Bucur Vlad Andrei vladdy47 Data 17 noiembrie 2015 20:30:23
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
# include <bits/stdc++.h>

using namespace std;

const int Nmax = 5000 + 5, Gmax = 10000 + 5;

int N, g, i, j;
int G[Nmax], P[Nmax], S[Gmax];

int main ()
 {
     freopen("rucsac.in","r",stdin);
     freopen("rucsac.out","w",stdout);

    scanf("%d %d\n", &N, &g);

    for (i = 1; i <= N; ++i)
        scanf("%d %d\n", &G[i], &P[i]);

    for (i = 1; i <= N; ++i)
        for (j = g; j >= 0; --j)
            if(j >= G[i]) S[j] = max (S[j], S[j - G[i]] + P[i]);

    printf("%d\n", S[g]);

    return 0;
 }