Pagini recente » Cod sursa (job #2357339) | Cod sursa (job #1301172) | Cod sursa (job #2195872) | Cod sursa (job #366085) | Cod sursa (job #106727)
Cod sursa(job #106727)
#include <stdio.h>
FILE *f=fopen("energii.in","r"),*gg=fopen("energii.out","w");
int main()
{
long C=0,aux,e[1002],cg[1002],w,g,i,k,p=1;
float s1,s2;
fscanf(f,"%ld%ld",&g,&w);
for (i=1;i<=g;i++)
fscanf(f,"%ld%ld",&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)||(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;
}