Pagini recente » Cod sursa (job #13757) | Istoria paginii utilizator/danilodjokic997 | Cod sursa (job #2787964) | Cod sursa (job #2271472) | Cod sursa (job #10152)
Cod sursa(job #10152)
#include<fstream.h>
int a[1002],b[1002],c[1002];
int main()
{
long int s,s1,s2,min=0,max=0;
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;
}*/
while(w>0){
for(i=1;i<=g;i++)
if(max<a[i]){ max=a[i]; poz=i;}
t=a[g];
a[g]=a[poz];
a[poz]=t;
g--;
w-=max;
min+=b[poz];
}
}
fout<<min;
fout.close();
return 0;
}