Cod sursa(job #972712)

Utilizator patratzelAlex Alex patratzel Data 12 iulie 2013 15:00:59
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.12 kb
#include <fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");

unsigned g,w,eg[10001],cg[10001],i;
float ran[10001];

void vectori(unsigned g)
    {
        for( i=0;i<g;i++)
            {
                fin>>eg[i];
                fin>>cg[i];
                ran[i]=(float)cg[i]/eg[i];
            }
    }

int ok(unsigned g)
    {
        unsigned oki=0;
        for (i=0;i<g;i++)
             if(eg[i]!=0)
                    oki=1;
        return oki;
    }

int ran_min(unsigned g)
    {
        float r_m=ran[0];
        unsigned l=0;
        for(i=1;i<g;i++)
                if(ran[i]<r_m)
                    {
                        r_m=ran[i];
                        l=i;
                    }
        return l;
    }

int main()
{
    fin>>g>>w;
    vectori(g);
    if(ok(g)!=0)
        {
            unsigned q=ran_min(g),a=eg[q],b=cg[q];
            while(eg[q]<w)
                {
                    eg[q]+=a;
                    cg[q]+=b;
                }
            fout<<cg[q];
        }
    else
        fout<<"-1";
    return 0;
}