Cod sursa(job #969061)

Utilizator supermitelArdelean Razvan Mitel supermitel Data 3 iulie 2013 13:55:09
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <cstdio>

using namespace std;

int maxim[10010], n, G, sol;

int main()
{
    freopen("rucsac.in","r", stdin);
    freopen("rucsac.out", "w", stdout);
    scanf("%d%d\n", &n, &G);
    int g, pret, j;
    for(int i = 0; i < n; i++)
    {
        scanf("%d%d\n", &g, &pret);
        for(j = G - g; j>=0; j--)
            if(maxim[j+g] < maxim[j]+pret)
            {
                maxim[j+g] = maxim[j] + pret;
                if(maxim[j+g]>sol)
                    sol = maxim[j+g];
            }
    }
    printf("%d\n", sol);

    return 0;
}