Cod sursa(job #3353159)

Utilizator PBaulurcaBurca Paul PBaulurca Data 5 mai 2026 11:38:50
Problema Energii Scor 45
Compilator cpp-64 Status done
Runda cerc-acs-02-05-26 Marime 0.75 kb
#include <bits/stdc++.h>
using namespace std;

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

    int G, W;
    fin >> G >> W;

    vector<int> E(G), C(G);
    int totalE = 0;
    for (int i = 0; i < G; i++) {
        fin >> E[i] >> C[i];
        totalE += E[i];
    }

    const int INF = 1e9;
    int maxE = totalE;
    vector<int> dp(maxE + 1, INF);
    dp[0] = 0;

    for (int i = 0; i < G; i++) {
        for (int e = maxE; e >= E[i]; e--) {
            if (dp[e - E[i]] != INF) {
                dp[e] = min(dp[e], dp[e - E[i]] + C[i]);
            }
        }
    }

    int ans = INF;
    for (int e = W; e <= maxE; e++) {
        ans = min(ans, dp[e]);
    }

    fout << (ans == INF ? -1 : ans) << "\n";

    return 0;
}