Cod sursa(job #2172144)

Utilizator HumikoPostu Alexandru Humiko Data 15 martie 2018 15:16:36
Problema Factorial Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <bits/stdc++.h>

using namespace std;

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

int p;

long long nrzero(long long x)
{
    long long ans = 0;
    while ( x >= 5 )
    {
        ans += x/5;
        x /= 5;
    }
    return ans;
}

long long cautbin(long long st, long long dr)
{
    long long ans;
    while ( st <= dr )
    {
        long long mij = st+(dr-st)/2;
        if ( nrzero(mij) < p )
            st = mij+1;
        else
        {
            if ( nrzero(mij) == p )
                ans = mij;
            dr = mij-1;
        }
    }
    return ans;
}

int main()
{
    long long st = 1, dr = 1<<30;
    fin>>p;
    if ( p == 0 )
        fout<<1<<'\n';
    else
        fout<<cautbin(st, dr);
}