Cod sursa(job #1375829)

Utilizator ericutzdevilEric Spataru ericutzdevil Data 5 martie 2015 14:38:23
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<stdio.h>
#include<algorithm>

struct gen{float en;float cost;float raport;};
gen v[10001];

bool sortare (gen a,gen b)
    {return a.raport>b.raport;}

using namespace std;

int main()

{

freopen ("energii.in","r",stdin);
freopen ("energii.out","w",stdout);

int nrcentrale,costlimita,cate=0,i,j,pp=0,s=0;

scanf("%d%d",&nrcentrale,&costlimita);

for (i=1;i<=nrcentrale;i++){
    scanf ("%f%f",&v[i].en,&v[i].cost);
    v[i].raport=float(v[i].en/v[i].cost);}

sort (v+1,v+nrcentrale+1,sortare);

for (i=1;i<=nrcentrale;i++)
    {
        if (costlimita-v[i].en>=0)
            {
                costlimita-=v[i].en;
                s+=v[i].cost;
            }
    }

printf ("%d",s);

return 0;
}