Cod sursa(job #3154405)

Utilizator MoraZ3UMorariu Razvan MoraZ3U Data 4 octombrie 2023 17:22:58
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
#include <algorithm>

using namespace std;

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

    int G, W;
    fin >> G >> W;
    int EGi[100], CGi[100];

    for (int i = 0; i < G; i++) {
        fin >> EGi[i] >> CGi[i];
    }

    int dp[5001];
    dp[0] = 0;

    for (int i = 1; i <= W; i++) {
        dp[i] = 10001;
        for (int j = 0; j < G; j++) {
            if (EGi[j] <= i) {
                dp[i] = min(dp[i], dp[i - EGi[j]] + CGi[j]);
            }
        }
    }

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

    return 0;
}