Cod sursa(job #1289091)

Utilizator c0rn1Goran Cornel c0rn1 Data 9 decembrie 2014 14:39:07
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <iostream>
#include <cstdio>
#include <algorithm>
#define nmax 5004

int n, g;
struct elem{
int gr, pr;
};
elem a[nmax];
int b[2*nmax];

using namespace std;

void citire()
{
    scanf("%d %d\n", &n, &g);
    for (int i=1; i<=n; i++)
        scanf("%d %d\n", &a[i].gr, &a[i].pr);
}

int main()
{
    freopen("rucsac.in", "r", stdin);
    freopen("rucsac.out", "w", stdout);
    citire();
    for (int i=1; i<=n; i++)
        for (int j=g; j>=a[i].gr; j--)
            b[j]=max(b[j], b[j-a[i].gr]+a[i].pr);
    printf("%d", b[g]);

    return 0;
}