Nu aveti permisiuni pentru a descarca fisierul grader_test8.ok
Cod sursa(job #3174912)
| Utilizator | Data | 25 noiembrie 2023 10:49:08 | |
|---|---|---|---|
| Problema | Factorial | Scor | 0 |
| 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;
}