Pagini recente » Cod sursa (job #219817) | Cod sursa (job #849197) | Cod sursa (job #142937) | Cod sursa (job #113929) | Cod sursa (job #1313554)
#include<stdio.h>
#include<stdlib.h>
typedef struct
{
int cost,pow;
float ef;
}generator;
int main()
{
int g,e,i,j,p=0,c=0,q=-1;
generator *gen,aux;
FILE *f,*f2;
if((f=fopen("energii.in","rt"))==NULL)
return -1;
if((f2=fopen("energii.out","wt"))==NULL)
return -1;
fscanf(f,"%d %d",&g,&e);
gen=(generator*)calloc(g,sizeof(generator));
for(i=0;i<g;i++)
fscanf(f,"%d %d",&gen[i].pow,&gen[i].cost);
for(i=0;i<g;i++)
gen[i].ef=(float)gen[i].cost/(float)gen[i].pow;
for(i=0;i<g;i++)
for(j=i+1;j<g;j++)
if(gen[i].ef>gen[j].ef)
{
aux=gen[i];
gen[i]=gen[j];
gen[j]=aux;
}
for(i=0;i<g;i++)
if(e>p)
{
p=p+gen[i].pow;
c=c+gen[i].cost;
}
else
break;
//for(i=0;i<g;i++)
// printf("%d %d %.2f\n",gen[i].pow,gen[i].cost,gen[i].ef);
if(e>p)
fprintf(f2,"%d",q);
else
fprintf(f2,"%d",c);
free(gen);
fclose(f);
fclose(f2);
return 0;
}