Cod sursa(job #1066349)

Utilizator otnielMercea Otniel otniel Data 24 decembrie 2013 16:16:48
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#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");
}