Pagini recente » Cod sursa (job #2081235) | Monitorul de evaluare | Cod sursa (job #1094710) | Cod sursa (job #513682) | Cod sursa (job #697182)
Cod sursa(job #697182)
#include<stdio.h>
int main()
{
FILE *fin,*fout;
int i,j,aux,g,w,eg[1002],cg[1002],s,cost;
float ax,rap[1002];
fin=fopen("energii.in","rt");
fscanf(fin,"%d",&g);
fscanf(fin,"%d",&w);
for(i=0;i<g;i++)
{
fscanf(fin,"%d",&eg[i]);
fscanf(fin,"%d",&cg[i]);
rap[i]=(float)eg[i]/cg[i];
}
fclose(fin);
for(i=0;i<g-1;i++)
for(j=i+1;j<g;j++)
if(rap[i]<rap[j])
{
aux=eg[i];
eg[i]=eg[j];
eg[j]=aux;
aux=cg[i];
cg[i]=cg[j];
cg[j]=aux;
ax=rap[i];
rap[i]=rap[j];
rap[j]=ax;
}
for(i=0;i<g;i++)
printf("%d %d %f\n",eg[i],cg[i],rap[i]);
i=0;
s=0;cost=0;
while(i<g && s<w)
{
s+=eg[i];
cost+=cg[i];
i++;
}
fout=fopen("energii.out","wt");
if(s<w) fprintf(fout,"-1");
else fprintf(fout,"%d",cost);
fclose(fout);
return 0;
}