Pagini recente » Cod sursa (job #1932913) | Cod sursa (job #3036809) | Cod sursa (job #2103815) | Cod sursa (job #377460) | Cod sursa (job #21248)
Cod sursa(job #21248)
#include <fstream.h>
#include <iostream.h>
fstream f("d:\\energii.in",ios::in),tip("d:\\energii.out",ios::out);
int *sol,*e,*c,w,g,i,en;
long min=3000000;
void init()
{
f>>g; f>>w;
sol=new int[g+1];
e=new int[g+1];
c=new int[g+1];
for(i=1;i<=g;i++)
{f>>e[i]; f>>c[i];}
}
void comp()
{
int s=0,en=0;
for (i=1;i<=g;i++)
if(sol[i]) {s+=c[i]; en+=e[i];}
if(min>s && en>=w)
min=s;
}
void back(int k)
{
if(k==g+1) comp();
else
{sol[k]=-1;
while(sol[k]++<1)
{back(k+1);}}
}
int main()
{init();
back(1);
if(min!=3000000)
tip<<min;
else tip<<-1;}