Cod sursa(job #3313302)

Utilizator Floare11Aldea Florin Floare11 Data 3 octombrie 2025 11:43:20
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
using namespace std;
int main() {
    ifstream fin("fact.in");
    ofstream fout("fact.out");
    long long P;
    fin >> P;
    if (P == 0) {
        fout << 1 << '\n';
        return 0;
    }
    long long left = 0, right = 5 * P;
    long long result = -1;

    while (left <= right) {
        long long mid = (left + right) / 2;
        long long temp = mid;
        long long zeros = 0;
        while (temp > 0) {
            zeros += temp / 5;
            temp /= 5;
        }
        if (zeros < P) {
            left = mid + 1;
        } else if (zeros > P) {
            right = mid - 1;
        } else {
            result = mid;
            right = mid - 1;
        }
    }
    fout << result << '\n';
    return 0;
}