Cod sursa(job #1923100)

Utilizator micutuAndrei Vasile micutu Data 10 martie 2017 20:44:23
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>

using namespace std;

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

const long long oo = 1000000000;
long long P;
long long sol = -1;

long long Works(long long n){
    long long zr = 0;
    while(n){
        zr += n / 5;
        n /= 5;
    }
    return zr;
}

void BinarySearch(long long left, long long right){
    long long mid;
    while(left <= right){
        mid = (left + right) / 2;
        long long aux = Works(mid);
        if(aux == P){
            sol = mid;
            right = mid - 1;
        }
        else if(aux > P)
            right = mid - 1;
        else
            left = mid + 1;
    }
}

int main(){
    in >> P;
    BinarySearch(1, oo);
    out << sol << "\n";
    return 0;
}