Pagini recente » Cod sursa (job #2419218) | Cod sursa (job #1353802) | Profil rares22iunie | Cod sursa (job #1272192) | Cod sursa (job #10098)
Cod sursa(job #10098)
#include<fstream.h>
int a[1002],b[1002],c[1002];
int main()
{
long int s,s1,s2,min=-1;
int t,g,w,ok=1,i;
ifstream fin("energii.in");
ofstream fout("energii.out");
fin>>g>>w;
s=0;
for(i=1;i<=g;i++)
{ fin>>a[i]>>b[i]; s+=a[i];}
fin.close();
if(s<w) fout<<-1;
else
{
while(ok)
{ s1=s2=0;
c[g]++;
ok=0;
for(i=g;i>=1;i--)
{
t=c[i];
if(c[i]>1)
{ c[i]=t%2;
c[i-1]+=t/2;}
if(!c[i]) ok=1;
else {s1+=a[i]; s2+=b[i];}
}
if(s1>=w)
if(min<0) min=s2;
else if(min>=s2) min=s2;
}
}
fout<<min;
fout.close();
return 0;
}