Cod sursa(job #2339890)

Utilizator bluestorm57Vasile T bluestorm57 Data 9 februarie 2019 15:07:45
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>

using namespace std;

ifstream f("energii.in");
ofstream g("energii.out");

int n,nev,e[5001],c[5001],optim[10001],s;
const int inf=1<<30;

int main(){
    int i,j;
    f>>n>>nev;
    for(i=1;i<=n;i++){
        f>>e[i]>>c[i];
        s+=e[i];
    }
    if(s<nev){
        g<<-1;
        return 0;
    }

    for(i=0; i<=nev; i++)
        optim[i]=inf;

    for(i=1; i<=n; i++)
        for(j=nev; j>=1; j--)
        if(j-e[i]<=0)
            optim[j]=min(optim[j],c[i]);
        else
            optim[j]=min(optim[j], optim[j-e[i]]+c[i]);

    if(optim[nev]==inf)
        g<<-1;
    else
    g<<optim[nev];

    return 0;
}