Pagini recente » Cod sursa (job #2007055) | Monitorul de evaluare | Istoria paginii utilizator/filicri | Istoria paginii utilizator/belac | Cod sursa (job #550149)
Cod sursa(job #550149)
//
#include<stdio.h>
FILE *f=fopen("energii.in","r"), *g=fopen("energii.out","w");
int ss,s,i,n,aux,inj,sw,sss;
struct {int e,c,r;} v[5555];
void read()
{
fscanf(f,"%d" ,&n);
fscanf(f,"%d", &s);
for(i=1;i<=n;i++)
{
fscanf(f,"%d %d", &v[i].e, &v[i].c);
v[i].r=v[i].e/v[i].c;
}
}
void shell()
{
inj=n;
while(inj>1)
{
inj/=2;
do{
sw=1;
for(i=1;i<=n-inj;i++)
if(v[i].r>v[i+inj].r)
{
aux=v[i].r;
v[i].r=v[i+inj].r;
v[i+inj].r=aux;
sw=0;
}
}while(sw==0);
}
}
void find()
{
i=n;
ss=0;
while(sss<s)
{ sss=sss+v[i].e;
ss=ss+v[i].c;
i--;
}
}
int main()
{
read();
shell();
find();
fprintf(g,"%d",ss);
fclose(f);
fclose(g);
return 0;
}