Pagini recente » Cod sursa (job #2873543) | Cod sursa (job #1040198) | Cod sursa (job #168121) | Cod sursa (job #2782336) | Cod sursa (job #106736)
Cod sursa(job #106736)
#include <stdio.h>
FILE *f=fopen("energii.in","r"),*gg=fopen("energii.out","w");
int main()
{
int w,aux,e[1005],cg[1005],g,i,p=1;
float s1,s2;
long C=0;
fscanf(f,"%d%d",&g,&w);
for (i=1;i<=g;i++)
fscanf(f,"%d%d",&e[i],&cg[i]);
while (p)
{
p=0;
for (i=1;i<g;i++)
{
s1=float(e[i])/float(cg[i]);
s2=float(e[i+1])/float(cg[i+1]);
if (s1<s2)
{
p=1;
aux=e[i];
e[i]=e[i+1];
e[i+1]=aux;
aux=cg[i];
cg[i]=cg[i+1];
cg[i+1]=aux;
}
}
}
i=1;
while ((w>0)&&(i<=g))
{
w-=e[i];
C+=cg[i];
i++;
}
if (w>0)
fprintf(gg,"-1\n");
else
fprintf(gg,"%ld\n",C);
fclose(gg);
return 0;
}