Cod sursa(job #2779243)

Utilizator KarinaDKarina Dumitrescu KarinaD Data 2 octombrie 2021 23:43:12
Problema Factorial Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <fstream>

using namespace std;

int main() {
    
    ifstream fin ( "fact.in" );
    ofstream fout ( "fact.out" );
    
    long long p, st, dr, mij, k = 0, p5;
    
    fin >> p;
    
    st = 0;
    dr = 500000000;
    
    while ( st != dr ){
        
        mij = ( st + dr ) / 2;
        
        p5 = 5;
        k = 0;
        
        for ( p5 = 5; p5 <= mij; p5 *= 5 )
            k = k + mij / p5;
        
        if ( p <= k )
            dr = mij;
        else
            st = mij + 1;
        
    }
    
    if ( p == k )
        fout << st;
    else
        fout << "-1";
    
    
    return 0;
}