Cod sursa(job #2389975)

Utilizator Andy_ANDYSlatinaru Andrei Alexandru Andy_ANDY Data 27 martie 2019 17:39:46
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ifstream f ( "fact.in" ); ofstream g ( "fact.out" );
ll nrzero( ll n )
{   if(!n) return 1;
    ll nr2=0,nr5=0,cn=n;
    while(cn)
    {   nr2+=cn>>1;
        cn>>=1;
    }
    while(n)
    {   nr5+=n/5;
        n/=5;
    }
    return min(nr2,nr5);
}
int main()
{   int p;
    f>>p;
    ll mij,st=1,dr=1e18;
    while(st<dr)
    {   mij=(st+dr)>>1;
        ll nrz=nrzero(mij);
        if(p<=nrz) dr=mij;
        else st=mij+1;
    }
    if(nrzero(st)==p) g<<st; else g<<"-1 ";
    return 0;
}