Cod sursa(job #2378415)

Utilizator bogdan_modoleaBogdan Modolea bogdan_modolea Data 12 martie 2019 10:50:18
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("fact.in");
ofstream fout("fact.out");

typedef long long ll;

ll nz(ll n)
{
    ll z=0,p=5;
    while(p<=n)
    {
        z+=n/p;
        p*=5;
    }
    return z;
}

int main()
{
    ll p,st,dr,m,k;
    fin>>p;
    if(p==0) {fout<<1; return 0;}
    st=-1; dr=1ll<<62;
    while(st<=dr)
    {
        m=(st+dr)/2;
        k=nz(m);
        if(k<p) st=m+1;
        else dr=m-1;
    }
    if(nz(st)==p) fout<<st;
    else fout<<-1;
    return 0;
}