Cod sursa(job #2333743)

Utilizator BungerNadejde George Bunger Data 1 februarie 2019 21:43:17
Problema Factorial Scor 55
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin ("fact.in");
ofstream fout ("fact.out");
long long n,p;
long long ans=-1;
long long  zero(long long  x)
{
    long long  nr=0;
    long long  fact=5;
    while(x>=fact)
    {
        nr+=x/fact;
        fact=5*fact;
    }
    return nr;
}
long long  solve()
{
    long long  st=1,dr=1e8,mij;
    while(st<=dr)
    {
        mij=st+(dr-st)/2;
        long long  rez=zero(mij);
        if(rez==p)
        {
            ans=mij;
            while(zero(ans)==p)
                ans--;
            return ans+1;
        }
        else if(rez<p)
        {
            st=mij+1;
        }
        else
        {
            dr=mij-1;
        }
    }
    return -1;
}
int main()
{
    fin>>p;
    fout<<solve();
    return 0;
}