Pagini recente » Istoria paginii runda/test-1 | tema | Monitorul de evaluare | tema | Cod sursa (job #2360219)
#include <iostream>
#include <fstream>
//#define LL long long int;
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
long long p;
int checkZero(long long nr)
{
long long nrZero = 0;
long long c = 5;
while(c<=nr)
{
nrZero += nr/c;
c*=5;
}
return nrZero;
}
long long binSearch(long long l, long long r)
{
while(l < r)
{
long long m = (l + r)/2;
if(checkZero(m) >= p) r = m;
else l= m + 1;
}
return l;
}
int main()
{
fin >> p;
if(p == 0)
{
cout << 1;
return 0;
}
long long nr = binSearch(1, 500000000);
if (p == checkZero(nr)) fout << nr;
else fout << -1;
return 0;
}