Cod sursa(job #1545862)

Utilizator dalexandraDinca Alexandra-Maria dalexandra Data 7 decembrie 2015 11:32:59
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <iostream>
#include <fstream>

#define INF 100000000

using namespace std;

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

int e[1002],c[1002];
int cost[5002];

int main()
{
    int g,w,i,j;
    fin>>g>>w;
    for(i=1;i<=g;i++)
        fin>>e[i]>>c[i];
    for(i=1;i<=w;i++)
        cost[i]=INF;
    cost[0]=0;
    for(i=1;i<=g;i++)
        for(j=w+e[i]-1;j>=e[i];j--)
            if(cost[j-e[i]]!=INF)
            {
                if(j>=w)
                {
                    if(cost[j-e[i]]+c[i]<cost[w])
                        cost[w]=cost[j-e[i]]+c[i];
                }
                else if(cost[j-e[i]]+c[i]<cost[j])
                    cost[j]=cost[j-e[i]]+c[i];
            }
    if(cost[w]==INF) fout<<-1;
    else fout<<cost[w];
}