Cod sursa(job #2610586)

Utilizator KPP17Popescu Paul KPP17 Data 5 mai 2020 07:47:46
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.53 kb
#define fisier "rucsac"
#include <fstream>
std::ifstream in(fisier ".in");
std::ofstream out(fisier ".out");

const int
N = 5000,
G = 10000 + 1;

int
n, g,
_a[G],   _b[G],
*a = _a, *b = _b;

int main()
{
    in >> n >> g;

    while (n--)
    {
        int w, p;
        in >> w >> p;

        for (int i = 0; i <= g; i++)
             if (i < w || b[i - w] + p < b[i])
                a[i] = b[i];
             else
                a[i] = b[i - w] + p;

        std::swap(a, b);
    }

    out << b[g];
}