Pagini recente » Cod sursa (job #1690247) | Cod sursa (job #2183238) | Cod sursa (job #917550) | Cod sursa (job #1543684) | Cod sursa (job #106733)
Cod sursa(job #106733)
#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,k,p=1;
float s1,s2;
long C;
fscanf(f,"%ld%ld",&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;
}