Pagini recente » Cod sursa (job #1073716) | Cod sursa (job #1588276) | Cod sursa (job #2636296) | Cod sursa (job #1068350) | Cod sursa (job #1066351)
#include<iostream>
using namespace std;
struct cent
{
float energie,cost,eficienta;
};
cent a[1005],aux;
int w,n,i,x,cost1,suma;
#include<stdio.h>
FILE *f,*g;
int main()
{f=fopen("energii.in","r");
g=fopen("energii.out","w");
fscanf(f,"%d",&n);
fscanf(f,"%d",&w);
for(i=1;i<=n;i++)
fscanf(f,"%f %f",&a[i].energie,&a[i].cost);
for(i=1;i<=n;i++)
a[i].eficienta=a[i].energie/a[i].cost;
for(i=1;i<=n;i++)
x=1;
while(x)
{
x=0;
for(i=1;i<n;i++)
if(a[i].eficienta<a[i+1].eficienta)
{
aux=a[i];
a[i]=a[i+1];
a[i+1]=aux;
x=1;
}
}
for(i=1;i<=n;i++)
{
suma=suma+a[i].energie;
cost1=cost1+a[i].cost;
if(suma==w)
break;
}
if(suma==w)
fprintf(g,"%d",cost1);
else
fprintf(g,"-1");
}