Cod sursa(job #2756387)

Utilizator Titus_PirsanTitus-Teodor Pirsan Titus_Pirsan Data 31 mai 2021 12:38:49
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb

#include <fstream>

using namespace std;

string filename = "fact";
ifstream fin(filename + ".in");
ofstream fout(filename + ".out");

const int INF = 1e9;

int check(int val)
{
	int ans(0);
	while (val)
	{
		ans += val / 5;
		val /= 5;
	}
	return ans;
}

int lowerBound(int low, int high, int x)
{
	if (low <= high)
	{
		int mid = low + (high - low) / 2;
		if (check(mid) >= x)
		{
			return lowerBound(low, mid - 1, x);
		}
		return lowerBound(mid + 1, high, x);
	}
	return low;
}

int main()
{
	int n;
	fin >> n;
	int ans = lowerBound(1, INF, n);
	if (check(ans) == n)
	{
		fout << ans;
	}
	else
	{
		fout << -1;
	}
	fin.close();
	fout.close();
	return 0;
}