Cod sursa(job #3320209)

Utilizator And_etcAndrei P And_etc Data 4 noiembrie 2025 16:09:30
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <bits/stdc++.h>
using namespace std;

int d[20555];

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

    int n, k;
    cin >> n >> k;

    for(int i = 1; i <= 20000; ++i)
        d[i] = INT_MAX;

    int mn = INT_MAX;

    for(int i = 1; i <= n; ++i) {
        int a, b;
        cin >> a >> b;

        for(int j = k + a; j >= a; --j) {
            if(d[j - a] != INT_MAX && d[j - a] + b < d[j]) {
                d[j] = d[j - a] + b;
                if(j >= k && d[j] < mn)
                    mn = d[j];
            }
        }
    }

    if(mn == INT_MAX) mn = -1;
    cout << mn;

    return 0;
}