Cod sursa(job #3174899)

Utilizator mirceamaierean41Mircea Maierean mirceamaierean41 Data 25 noiembrie 2023 10:46:18
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
#include <iostream>

using namespace std;

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

const long long MAX = 1e12 + 1;

int main()
{
    long long p, i = 0, left = 1, right = MAX, ans = MAX;
    fin >> p;
    while (left <= right)
    {
        long long mid = (left + right) / 2;
        long long cnt = 0;
        for (long long j = 5; j <= mid; j *= 5)
            cnt += mid / j;
        if (cnt >= p)
        {
            if (cnt == p && ans > mid)
                ans = mid;
            right = mid - 1;
        }
        else
            left = mid + 1;
    }
    if (ans == MAX)
        ans = -1;
    fout << ans << '\n';
    return 0;
}