Cod sursa(job #905202)

Utilizator marysMaria-Luiza marys Data 5 martie 2013 17:43:54
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <iostream>
#include <fstream>

////https://infoarena.ro/problema/energii

using namespace std;

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

int g,w,et,e[10001],c[10001],cost[15001];

int calculeaza()
{
    int i,j,inf,min;
    inf=30000;
    for(i=1;i<=w;i++)
        cost[i]=inf;
    for(i=1;i<=g;i++)
        for(j=w;j>=0;j--)
            if(cost[j]!=inf && cost[j]+c[i]<cost[j+e[i]])
                cost[j+e[i]]=cost[j]+c[i];

    min=inf;
    for(i=w;i<=15000;i++)
        if(cost[i]<min && cost[i]!=0) min=cost[i];
    return min;
}

int main()
{
    int i,j,ok=0;
    in>>g>>w;
    for(i=1;i<=g;i++)
        in>>e[i]>>c[i];

    for(i=1;i<=g;i++)
        et+=e[i];

    if(ok==0)
        if(et<w)out<<"-1";
        else out<<calculeaza();

    return 0;
}