Cod sursa(job #972712)
Utilizator | Alex 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;
}