Cod sursa(job #3138169)

Utilizator SSKMFSS KMF SSKMF Data 17 iunie 2023 18:53:01
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
using namespace std;

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

int cost_minim[10001];

int main ()
{
    int generatoare , energie_necesara;
    cin >> generatoare >> energie_necesara;

    for (int indice = 1 ; indice <= 10000 ; indice++)
        cost_minim[indice] = 1e9;

    for (int indice = 1 , energie , cost ; indice <= generatoare ; indice++)
    {
        cin >> energie >> cost;

        for (int cantitate = 10000 ; cantitate >= energie ; cantitate--)
            cost_minim[cantitate] = min(cost_minim[cantitate] , cost_minim[cantitate - energie] + cost);
    }

    int minim = 1e9;
    for (int indice = 10000 ; indice >= energie_necesara ; indice--)
        minim = min(minim , cost_minim[indice]);

    cout << (minim == 1e9 ? -1 : minim);
    cout.close(); cin.close();
    return 0;
}