Cod sursa(job #1336449)

Utilizator mihai.constantinConstantin Mihai mihai.constantin Data 7 februarie 2015 19:01:29
Problema Problema rucsacului Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <iostream>
#include <cstdio>
using namespace std;

int A[5100][10100]; int N,Gmax;
struct RUCSAC{int G,P;}v[5100];

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

    int i,j;

    scanf("%d %d", &N,&Gmax);
    for(i=1; i<=N; i++)
    {
        scanf("%d %d", &v[i].G,&v[i].P);
    }

    for(i=1; i<=N; i++)
    {
        for(j=1; j<=Gmax; j++)
        {
            if(j<v[i].G)
            {
                A[i][j]=A[i-1][j];
            }
            else
            {
                A[i][j]=max(A[i-1][j],v[i].P+A[i-1][j-v[i].G]);
            }
        }
    }

    cout<<A[N][Gmax];

    return 0;
}