Cod sursa(job #2699047)

Utilizator stefdascalescuStefan Dascalescu stefdascalescu Data 23 ianuarie 2021 16:11:56
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include<bits/stdc++.h>
#define god dimasi5eks
#pragma GCC optimize("O3")
#define fi first
#define se second
#define pb push_back
#define pf push_front
 
#define fisier 1
 
using namespace std;
 
typedef long long ll;
 
const int mod = 1000000007;
const double dancila = 3.14159265359; // PI 
const double eps = 1e-9;
 
int p;

ll zero(ll nr)
{
	ll ans = 0;
	for(ll i = 5; i <= nr; i *= 5)
		ans += nr/i;
	return ans;
}
 
 
int main()
{
	#ifdef fisier
		ifstream cin("fact.in");
		ofstream cout("fact.out");
	#endif
	
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	
	cin >> p;
	ll st = 1;
	ll dr = (1<<30);
	ll ans = 0;
	while(st <= dr)
	{
		ll mid = (st + dr) / 2;
		if(zero(mid) >= p)
			ans = mid, dr = mid - 1;
		else
			st = mid + 1;
	}
	if(zero(ans) == p)
		cout << ans;
	else
		cout << -1;
	return 0;
}