Cod sursa(job #2684954)

Utilizator iancupoppPopp Iancu Alexandru iancupopp Data 15 decembrie 2020 12:37:53
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>

using namespace std;

const int G = 10001;

int profit[G];

int main() {
    ifstream in("rucsac.in");
    ofstream out("rucsac.out");
    
    int n, g, w, p, rez = 0;
    in >> n >> g;
    for (int i = 1; i <= g; ++i)
        profit[i] = -1;
    while (n--) {
        in >> w >> p;
        for (int i = g - w; i >= 0; --i)
            if (profit[i] != -1 && profit[i + w] < profit[i] + p) {
                profit[i + w] = profit[i] + p;
                rez = max(rez, profit[i + w]);
            }
    }
    out << rez;

    in.close();
    out.close();
    return 0;
}