Cod sursa(job #1309431)

Utilizator bogdanboboc97Bogdan Boboc bogdanboboc97 Data 5 ianuarie 2015 19:04:48
Problema Factorial Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
int p,n;
int zeros(int x)
{
	int d=0,c=0;
	for(int i=2;i<=x;i=i*1LL*2)d+=(x/i);
	for(int i=5;i<=x;i=i*1LL*5)c+=(x/i);
	return min(d,c);
}
int main() {
	in>>p;
	int left=1,right=numeric_limits<int>::max()-1;
	while(right>left)
	{
		int mid=(right+left)/2;
		int t=zeros(mid);
		if(p<t)right=mid-1;
		if(p>t)left=mid+1;
		if(t==p)
		{
			out<<mid;
			return 0;
		}
	}
	out<<-1;
	return 0;
}