Cod sursa(job #1467352)

Utilizator FlorinHajaFlorin Gabriel Haja FlorinHaja Data 3 august 2015 12:12:49
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
// Problema rucsacului - rezolvare cu matrice de costuri

#include <fstream>
#include <cstring>
#include <iostream>

using namespace std;

ifstream fin("rucsac.in");
ofstream fout("rucsac.out");

int a[10001], g, n, i, j;
int w[5001], p[5001];
int maxim;

int main()
{
    fin >> n >> g;
    for (i = 1; i <= n; i++)
        fin >> w[i] >> p[i];

    for (i = 1; i <= n; i++)
        for (j = g-w[i]; j >= 0; j--)
        {
            if (a[j+w[i]] < a[j]+p[i])
                a[j+w[i]] = a[j]+p[i];
            if (maxim < a[j+w[i]])
                maxim = a[j+w[i]];
        }
    fout << maxim;
    return 0;
}