Cod sursa(job #859281)

Utilizator vandrei95Zamfir Vlad vandrei95 Data 19 ianuarie 2013 23:50:02
Problema Energii Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <iostream>
#include<fstream>
#include<cmath>
#include<algorithm>
using namespace std;

int main()
{
    int en[1003],cost[1003],G,W,i,j,pret=0,energie=0;
    double rap[1003];
    int aux;
    float aux2;
    fstream f,g;
    f.open("energii.in",ios::in);
    g.open("energii.out",ios::out);
    f>>G>>W;
    for(i=1;i<=G;i++)
    {
        f>>en[i]>>cost[i];
        rap[i]=(double)en[i]/cost[i];
    }
    for(i=1;i<G;i++)
        for(j=i;j<=G;j++)
            if(rap[i]<rap[j])
            {
                aux2=rap[i];
                rap[i]=rap[j];
                rap[j]=aux2;
                aux=cost[i];
                cost[i]=cost[j];
                cost[j]=aux;
                aux=en[i];
                en[i]=en[j];
                en[j]=aux;
            }
    i=1;

    while(energie<W&&i<G)
    {
        energie+=en[i];
        pret+=cost[i++];
    }
    if(energie<W)
        g<<-1;
    else
        g<<pret;

}