Cod sursa(job #2703213)

Utilizator NeacsuMihaiNeacsu Mihai NeacsuMihai Data 7 februarie 2021 17:35:17
Problema Energii Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;

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

int cost[5001];

int main()
{
    int n, energieMinima;
    int energie, pret;
    fin>>n>>energieMinima;

    //initializare
    for(int i=1; i<=energieMinima; i++){
        cost[i] = 5000 * 10000 + 1;
    }

    for(int i=0; i<n; i++){
        fin>>energie>>pret;

        for(int j=energie + 1; j<=energieMinima; j++){
            cost[j] = min(cost[j], cost[j - energie] + pret);
        }
        for(int j=1; j<=energie; j++){
            cost[j] = min(cost[j], pret);
        }
    }

    if(cost[energieMinima] == 5000 * 10000 + 1) fout<<-1<<"\n";
    else fout<<cost[energieMinima];
}