Cod sursa(job #1512401)

Utilizator andreitulusAndrei andreitulus Data 27 octombrie 2015 23:59:37
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <stdio.h>
#include <algorithm>
#define maxn 5005
#define maxg 10005
using namespace std;

int w[maxn], p[maxn], n, g, v[maxg];


void read()
{
    scanf("%d %d", &n, &g);

    int i;

    for(i = 1; i <= n; i++)
        scanf("%d %d", &w[i], &p[i]);
}


void solve()
{
     int i,j;

    for(i = 1; i <= n; i++)
       for(j = g; j >= w[i]; j--)
          v[j] = max(v[j], v[j - w[i]] + p[i]);

    printf("%d", v[g]);
}


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

    read();

    solve();

    fclose(stdin);
    fclose(stdout);

    return 0;
}