Cod sursa(job #2825728)

Utilizator George_CristianGeorge Dan-Cristian George_Cristian Data 5 ianuarie 2022 08:38:06
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream>

using namespace std;

ifstream f("energii.in");
ofstream g("energii.out");

#define WMAX 505
#define INF 100000000

int G, W, dp[WMAX], min_peste = INF;

void initializare() {
    for (int i = 1; i <= W; i++)
        dp[i] = INF;
}

void rezolvare() {
    int EG, CG;
    for (int i = 1; i <= G; i++) {
        f >> EG >> CG;
        if (EG > W) {
            min_peste = min(min_peste, CG);
            continue;
        }
        for (int en = W; en >= EG; en--)
            dp[en] = min(dp[en], dp[en - EG] + CG);
    }
}

int main() {
    f >> G >> W;
    initializare();
    rezolvare();
    g << min(dp[W], min_peste);
    return 0;
}