Cod sursa(job #2510009)

Utilizator mafiotxrobeert mafiotx Data 15 decembrie 2019 16:22:57
Problema Factorial Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <iostream>
#include <fstream>
using namespace std;

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


long long zerouri(long long numar)
{
	long long sum = 0;
	while (numar)
	{
		sum += numar / 5;
		numar /= 5;
	}
	return sum;
}
long long cautare_binara(long long val)
{
	long long left = 0, right = 400000016, solutie = -1;
	while (left <= right)
	{
		int mid = (left + right) / 2;

		if (zerouri(mid) == val)
		{
			solutie = mid;
			break;
		}
		if (zerouri(mid) > val)
			right = mid - 1;
		if (zerouri(mid) < val)
			left = mid + 1;
	}
	return solutie;
}

int main()
{
	long long zero,val;
	fin >> zero;
	val = cautare_binara(zero);
	if (val != -1)
		fout << val - val % 5;
	else
		fout << -1;
}