Cod sursa(job #3003510)

Utilizator MihneaStoicaMihnea Teodor Stoica MihneaStoica Data 15 martie 2023 19:27:42
Problema Factorial Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")

#include <fstream>
#include <vector>

using namespace std;

ifstream cin ("fact.in");
ofstream cout ("fact.out");

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    int p; cin >> p;
    int64_t lo = 0, hi = 500000000;
    while (lo < hi)
    {
        int64_t mid = (lo + hi) / 2;
        int nr = 0, put = 5;
        while (put < mid)
        {
            nr += mid / put;
            put *= 5;
        }
        if (nr > p)
        {
            hi = mid;
        }
        else if (nr < p)
        {
            lo = mid + 1;
        }
        else
        {
            cout << (mid / 5) * 5 << '\n';
            return 0;
        }
    }
    cout << -1 << '\n';
}