Cod sursa(job #553668)

Utilizator AndreiMihuAndrei Mihu AndreiMihu Data 14 martie 2011 11:06:13
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<fstream.h>
ifstream f("energii.in");
ofstream g("energii.out");
int a[10001],b[10001],c[1001],e[1001],w,gi,min,i,j,s;
int main()
{ f>>gi>>w;
  for(i=1;i<=gi;i++) { f>>e[i]>>c[i];
                       s+=e[i];
                    }
  a[0]=1;
  for(j=1;j<=gi;j++) for(i=s;i>=0;i--) if(a[i]&&!a[i+e[j]]) { a[i+e[j]]=e[j];
                                                             b[i+e[j]]=b[i]+c[j];
                                                           }
  min=b[w];
  for(i=w+1;i<=s;i++) if(b[i]&&b[i]<min) min=b[i];
  if(min>=w) g<<min;
  else g<<"-1";
  f.close();
  g.close();
  return 0;
}