Cod sursa(job #1883303)

Utilizator Alex18maiAlex Enache Alex18mai Data 17 februarie 2017 21:20:08
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>

using namespace std ;

ifstream cin ("fact.in") ;
ofstream cout ("fact.out") ;

long long zero (long long x) {
    long long S = 0 ;
    while ( x / 5LL ) {
        S = S + (x / 5LL) ;
        x = x / 5LL ;
    }
    return S ;
}

int main()
{
    long long P;
    cin>>P;
    long long st=1;
    long long dr=10e9;
    long long lol=-1;
    while (st <= dr){
        long long mij= (st + dr) >> 1LL;
        if ( zero(mij) <= P ) {
            st=mij+1;
            lol=mij;
        }
        else{
            dr=mij-1;
        }

    }
   if (lol == -1 or zero(lol) != P) {
        cout << -1 << '\n' ;
    }
    else {
        if ( lol - lol % 5 == 0 ) {
            cout << 1 << '\n' ;
            return 0 ;
        }
        cout << lol - lol % 5 << '\n' ;
    }
    return 0;
}