Cod sursa(job #849074)

Utilizator danutbodbodnariuc danut danutbod Data 6 ianuarie 2013 10:41:22
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <fstream>
using namespace std;
#define Maxi 100000000
ifstream f("energii.in");
ofstream g("energii.out");
int eg[1003],cg[1003],i,j,Gn,W,cost[10003],s;
int main()
{
    f>>Gn>>W;
    for (i=1; i<=Gn; i++){f>>eg[i]>>cg[i];s+=eg[i];}
    for (i=1; i<=W+5003; i++) cost[i]=Maxi;
    cost[0]=0;
    for(i=1; i<=Gn; i++)
     for (j=W+5000; j>=eg[i]; j--)
       if(cost[j]>cost[j-eg[i]]+cg[i])cost[j]=cost[j-eg[i]]+cg[i];
    while(cost[W]==Maxi)W++;
    if(W>s)g<<-1<<'\n';
      else    g<<cost[W]<<'\n';
    return 0;
}