Cod sursa(job #3365376)

Utilizator Fane28Ologeanu Stefan Alexandru Fane28 Data 20 septembrie 2026 12:34:05
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <iostream>
#include <fstream>
using namespace std;

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

long long a(long long m) {
    long long zerouri = 0;
    long long p = 5;
    while (p <= m) {
        zerouri = zerouri + m / p;
        p = p * 5;
    }
    return zerouri;
}

int main() {
    long long P;
    f >> P;

    if (P == 0) {
        g << 1;
        return 0;
    }

    long long st = 1, dr = 500000000;
    long long rezultat = -1;

    while (st <= dr) {
        long long m = (st + dr) / 2;

        if (a(m) >= P) {
            rezultat = m;
            dr = m - 1;
        } else {
            st = m + 1;
        }
    }

    if (a(rezultat) == P) {
        g << rezultat;
    } else {
        g << -1;
    }

    return 0;
}