Cod sursa(job #2397599)

Utilizator AndreiStrAndrei Stroici AndreiStr Data 4 aprilie 2019 16:39:21
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
long long p,lo,hi,mi;
long long get5(long long x)
{
    long long nr5=0;
    do
    {
        x/=5;
        nr5+=x;
    }
    while(x);
    return nr5;
}
int main()
{
    f>>p;
    if(p==0){g<<"1\n";return 0;}
    lo=0;hi=p+1;
    while(hi-lo>1)
    {
        mi=(lo+hi)/2;
        if(get5(5*mi)<=p)
            lo=mi;
        else
            hi=mi;
    }
    lo*=5;
    if(get5(lo)!=p)
        lo=-1;
    g<<lo;
    return 0;
}