Cod sursa(job #3352757)

Utilizator Superffff26Radu Alexandru Gabriel Superffff26 Data 1 mai 2026 11:38:40
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda cerc-acs-02-05-26 Marime 0.86 kb
#include <fstream>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");

const int INF = 999999999;

int main() {
    ifstream in("energii.in");
    ofstream out("energii.out");

    int G, W;
    in >> G >> W;
    vector<int> min_cost(W + 8, INF);
    min_cost[0] = 0;

    for (int i = 0; i < G; ++i) {
        int e, c;
        in >> e >> c;
        for (int j = W; j >= 0; --j) {
            if (min_cost[j] != INF) {
                int next_e = min(W, j + e);
                if (min_cost[next_e] > min_cost[j] + c) {
                    min_cost[next_e] = min_cost[j] + c;
                }
            }
        }
    }

    if (min_cost[W] == INF) {
         out << -1 << endl;
    } else {
        out << min_cost[W] << endl;
    }

    return 0;
}