Cod sursa(job #3298567)

Utilizator iulia_morariuIuli Morariu iulia_morariu Data 31 mai 2025 11:44:57
Problema Factorial Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <algorithm>
#include <iostream>
#include <fstream>
#include <climits>
#include <vector>
#include <stack>
#include <cmath>
// #include <bits/stdc++.h>
#define in  fin
#define out fout

using namespace std;
using ll = long long;

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

signed main(){
    ios_base::sync_with_stdio(false);
    in.tie(NULL);

    ll p; in >> p;
    ll l = 1, r = 5LL * 1000000000LL;
    ll mini = 0;
    while(l <= r){
        ll m = (l + r) / 2LL;
        // cout << "l = " << l << " r = "  << r << '\n';
        ll cnt = 0, pt = 5;
        for(int i = 0; i < 15; i++){
            cnt += m / pt;
            pt *= 5;
            if(pt > m) break;
        }

        // cout << "m = " << m << " Cnt = " << cnt << '\n';
        // cout << "p = " << p << '\n';
        if(cnt >= p){
            mini = m;
            r = m - 1;
        }else l = m + 1;
    }

    out << mini << '\n';

    return 0;
}