Cod sursa(job #153508)

Utilizator rmclsecret rmcl Data 10 martie 2008 16:29:35
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<iostream.h>
#include<fstream.h>
#define M 100000000
#define mm 10002
long a[mm],b[mm],i,j,g,w,cost[1001],e[1001],min;
int main()
{
 ifstream f("energii.in");
 ofstream out("energii.out");

 f>>g;
 f>>w;
 for(i=1;i<=g;i++)
  f>>e[i]>>cost[i];
 f.close();

for(i=1;i<mm;i++)
   a[i]=b[i]=M;

 for(i=1;i<=g;i++)
 {
  for(j=1;j<mm;j++)
   a[j]=b[j];
  for(j=0;j<=w;j++)
   if(b[j+e[i]]>a[j]+cost[i])
    b[j+e[i]]=a[j]+cost[i];
 }

 min=b[w];
 for(i=w;i<mm;i++)
  if(min>b[i])
   min=b[i];
 if(min==M)
  min=-1;
 out<<min;
 out.close();
 return 0;
}