Pagini recente » Cod sursa (job #2425004) | infoarena - comunitate informatica, concursuri de programare | Cod sursa (job #1759548) | infoarena - te ajutam sa devii olimpic! | Cod sursa (job #3174614)
#include <fstream>
#include <iostream>
#include <limits.h>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
typedef long long ll;
const ll MAX = 1e12 + 1;
ll countZeroes(ll val)
{
if (val == 0)
return 1;
ll cnt = 0;
for (ll i = 5; i <= val; i *= 5)
cnt += val / i;
return cnt;
}
ll binSearch(int val)
{
ll left = 1, right = MAX, res = MAX;
while (left <= right)
{
ll mid = (left + right) / 2;
ll q = countZeroes(mid);
if (q >= val)
{
if (q == val && mid < res)
res = mid;
right = mid - 1;
}
else
left = mid + 1;
}
return res;
}
int main()
{
long long n;
fin >> n;
fout << binSearch(n);
return 0;
}