Cod sursa(job #849217)

Utilizator danutbodbodnariuc danut danutbod Data 6 ianuarie 2013 18:45:46
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 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[100003],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];
    int mini=Maxi-1;
    for (i=W; i<=W+5000; i++)
     if(cost[i]!=Maxi)
        mini=min(cost[i],mini);
    if(mini==Maxi-1)g<<-1<<'\n';
      else    g<<mini<<'\n';
    return 0;
}