Cod sursa(job #2940546)

Utilizator pifaDumitru Andrei Denis pifa Data 15 noiembrie 2022 19:59:58
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <fstream>

using namespace std;

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

const int N = 1000, G = 10000, inf = 1e9;

struct generator
{
    int energy, cost;
} v[N + 1];

int dp[G + 1];

int main()
{

    int n, g;
    fin >> n >> g;

    for(int i = 1; i <= n; i++)
        fin >> v[i].energy >> v[i].cost;

    for(int j = 1; j <= G; j++)
        dp[j] = inf;

    for(int i = 1; i <= n; i++)
        for(int j = G; j >= v[i].energy; j--)
            dp[j] = min(dp[j], dp[j - v[i].energy] + v[i].cost);

    int ans = inf;
    for(int i = g; i <= G; i++)
        ans = min(ans, dp[i]);

    if(ans == inf)
        fout << -1 << '\n';
    else
        fout << ans << '\n';
    return 0;