Cod sursa(job #2505890)

Utilizator VanaMarcVana Marc VanaMarc Data 7 decembrie 2019 11:37:53
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <fstream>

#define INF 2000000000

using namespace std;

ifstream fi("energii.in");
ofstream fo("energii.out");

int n, k;
long long DP[10005];

int main()

{
    fi >> n >> k;
    for (int i = 1; i <= k; ++i)
        DP[i] = INF;
    for (int i = 1; i <= n; ++i)
    {
        long long energie, cost; fi >> energie >> cost;
        for (int j = k; j > 0; --j)
            if (j < energie)
                DP[j] = min(DP[j], cost);
            else
                DP[j] = min(DP[j], DP[j - energie] + cost);
    }
    if (DP[k] == INF)
        fo << -1;
    else
        fo << DP[k];
    fi.close();
    fo.close();
    return 0;
}