Cod sursa(job #2103721)

Utilizator flibiaVisanu Cristian flibia Data 10 ianuarie 2018 18:27:37
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include <bits/stdc++.h>
#define ll long long

using namespace std;

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

ll p, st, dr, mid;

ll get(ll nr){
	ll rs = 0;
	for(ll p = 5; p <= nr; p *= 5)
		rs += nr / p;
	return rs;
}

int main(){
	in >> p;
	if(p == 0)
		return out << '1', 0;
	st = 1; dr = (ll)1e18;
	while(st <= dr){
		mid = st + (dr - st) / 2;
		if(get(mid) >= p)
			dr = mid - 1;
		else 
			st = mid + 1;
	}
	out << (get(st) != p ? -1 : st); 
	return 0;
}