Cod sursa(job #3311570)

Utilizator Cristian2010Baciu Cristian Cristian2010 Data 23 septembrie 2025 12:23:54
Problema Factorial Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int main()
{
long long P;
fin >> P;
if (P == 0)
{
    fout << -1 << "\n";
    return 0;
}
long long left = 1, right = 5 * P;
long long answer = -1;
while (left <= right)
{
    long long mid = (left + right) / 2;
    long long count = 0;
    long long divisor = 5;
    while (mid / divisor > 0)
    {
        count += mid / divisor;
        divisor *= 5;
    }
    if (count == P)
    {
        answer = mid;
        right = mid - 1;
    }
    else
        if (count < P)
            left = mid + 1;
        else
            right = mid - 1;
}
fout << answer << "\n";
}