Cod sursa(job #3158828)

Utilizator toma_ariciuAriciu Toma toma_ariciu Data 19 octombrie 2023 21:17:38
Problema Energii Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
/// vreau sa fac toata pagina 1 de infoarena
#include <iostream>

using namespace std;

const int maxVal = 15000, inf = 0x3f3f3f3f;
int minCost[maxVal + 5];

int main() {
    #ifdef LOCAL
        freopen("test.in", "r", stdin);
        freopen("test.out", "w", stdout);
    #else
        freopen("energii.in", "r", stdin);
        freopen("energii.out", "w", stdout);
    #endif // LOCAL
    int g, w, ans = inf;
    cin >> g >> w;
    for (int i = 1; i <= maxVal; i++) {
        minCost[i] = inf;
    }
    for (int j = 1; j <= g; j++) {
        int val, cost;
        cin >> val >> cost;
        for (int i = maxVal; i >= val; i--) {
            minCost[i] = min(minCost[i], minCost[i - val] + cost);
            if (i >= w) {
                ans = min(ans, minCost[i]);
            }
        }
    }
    cout << ans;
    return 0;
}