Pagini recente » Cod sursa (job #160023) | Cod sursa (job #440230) | Cod sursa (job #2536677) | Cod sursa (job #1411978) | Cod sursa (job #1066349)
#include<iostream>
using namespace std;
struct cent
{
float energie,cost,eficienta;
};
cent a[1005],aux;
int w,n,i,x,suma,cost1;
#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;
}
}
i=1;
while(i<=n&&suma<w)
{
suma=suma+a[i].energie;
cost1=cost1+a[i].cost;
i++;
}
if(suma==w)
fprintf(g,"%d",cost1);
else
fprintf(g,"-1");
}