Pagini recente » Clasament dupa rating | Istoria paginii utilizator/321ca_ion_dorinel_filip | Cod sursa (job #402189) | Monitorul de evaluare | Cod sursa (job #2010585)
#include <bits/stdc++.h>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
long long p;
void citire()
{
in >> p;
}
long long nrZerouri(long long nr)
{
long long nrZ = 0;
while(nr != 0)
{
nrZ += nr / 5;
nr /= 5;
}
return nrZ;
}
long long sol = -1;
void cautareBinara(long long & st, long long dr)
{
if(st <= dr)
{
long long mij = st + (dr - st) / 2;
long long var = nrZerouri(mij);
if(var < p)
{
st = mij + 1;
}
else if(var > p)
{
dr = mij - 1;
}
else
{
sol = mij;
dr = mij - 1;
}
cautareBinara(st, dr);
}
}
void rezolvare()
{
if(p < 0)
{
out << "-1";
}
else
{
long long st = 1, dr = LLONG_MAX;
cautareBinara(st , dr);
out << sol;
}
}
int main()
{
citire();
rezolvare();
return 0;
}