Cod sursa(job #3153606)

Utilizator Mihnea4.Hoisan Mihnea Mihnea4. Data 30 septembrie 2023 13:39:24
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");

struct generator {
    int energie;
    int cost;
};

int dp[5001] = {0};
generator generators[1001];

int main() {
    int G, W;
    cin >> G >> W;

    for (int i = 0; i < G; i++) {
        cin >> generators[i].energie >> generators[i].cost;
    }

    for (int i = 0; i < G; i++) {
        int EGi = generators[i].energie;
        int CGi = generators[i].cost;

        for (int j = EGi; j <= W; j++) {
            if (dp[j - EGi] + CGi < dp[j] || dp[j] == 0) {
                dp[j] = dp[j - EGi] + CGi;
            }
        }
    }

    if (dp[W] == 0) {
        cout << -1 << endl;
    } else {
        cout << dp[W] << endl;
    }

    return 0;
}