Cod sursa(job #3312481)

Utilizator _.diannaq._Bengescu Diana _.diannaq._ Data 28 septembrie 2025 16:17:22
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <iostream>
#include <fstream>
using namespace std;

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


long long nrZerouri(long long n) {
    long long cnt = 0;
    while (n > 0) {
        n /= 5;
        cnt += n;
    }
    return cnt;
}

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

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

    long long st = 1, dr = 5 * P, rasp = -1;

    while (st <= dr) {
        long long mij = (st + dr) / 2;
        long long z = nrZerouri(mij);

        if (z == P) {
            rasp = mij;
            dr = mij - 1;
        } else if (z < P) {
            st = mij + 1;
        } else {
            dr = mij - 1;
        }
    }

    if (rasp == -1)
        fout << -1;
    else
        fout << rasp;

    return 0;
}