Pagini recente » Istoria paginii runda/eusebiu_oji_2016_cls10/clasament | Cod sursa (job #2611574) | Cod sursa (job #964677) | Monitorul de evaluare | Cod sursa (job #2947823)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
// #define cin fin
// #define cout fout
int zerouri[100000000]; int k=0;int key;
void zero()
{
for(int i=0;i<=10000000;i+=5)
{
zerouri[k]=i/5+i/25+i/625+i/3125+i/15625+i/78125+i/390625;
k++;
}
}
int binsearch(int l,int L)
{
if(L>=l){
int m=(l+L)/2;
if(zerouri[m]==key) return m;
else if(key>zerouri[m]) return binsearch(m+1,L);
else if(key<zerouri[m]) return binsearch(l,m-1);}
return -1;
}
int main()
{
zero();
cin>>key;
if(key==0) cout<<"1";
else {int val=binsearch(0,k-1);
if(val!=-1) cout<<(val)*5;
else cout<<val;}
}