Cod sursa(job #3319186)

Utilizator andreibancescuAndrei-Stefan Bancescu andreibancescu Data 31 octombrie 2025 01:01:53
Problema Factorial Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <bits/stdc++.h>
using namespace std;

long long f(long long n) {
    long long rez = 0;
    while(n >= 5) {
        n /= 5;
        rez += n;
    }
    return rez;
}

int main() {
    long long p;
    cin >> p;

    if(p == 0) {
        cout << 0;
        return 0;
    }

    long long st = 1, dr = 500000000LL, t, sol = -1;

    while(st <= dr) {
        t = (st + dr) / 2;
        long long val = f(t);

        if(val == p) {
            sol = t;
            dr = t - 1;
        }
        else if(val < p) {
            st = t + 1;
        }
        else {
            dr = t - 1;
        }
    }

    cout << sol;
    return 0;
}