Cod sursa(job #388420)

Utilizator dornescuvladVlad Eugen Dornescu dornescuvlad Data 30 ianuarie 2010 10:06:21
Problema Factorial Scor 65
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<iostream>
#include<fstream.h>

using namespace std;

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

long long st,dr,p,mij,ct,i,aux,minim=200000000;

int main()

{
	fin>>p;
	st=0;
	dr=1000000000;
			
	while(st<=dr)
	{
		mij=(st+dr)/2;
		aux=mij;
		while(aux!=0)
		{
			ct+=aux/5;
			aux/=5;
		}
		
		if(p>ct)
		{
			st=mij+1;
			ct=0;
		}
		
		if(p<ct)
		{
			dr=mij-1;
			ct=0;
		}
	
		if(ct==p && p!=5 && mij<minim)
			minim=mij;

	}
	
	if(p==5)
		fout<<"-1";
	else
		fout<<minim;
	return 0;
}