Cod sursa(job #2616176)

Utilizator leru007Leru Ursu leru007 Data 16 mai 2020 21:08:03
Problema Factorial Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<bits/stdc++.h>
#define ll long long
#define pb push_back
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
ll i,j,mod=1e9+7, oo=1e18+1;
ll n,m,t,k;
ll a[200005];
vector<ll>v;
bool viz[200005];
ll putere(ll x){
    ll k,sum=0;
    k=x;
    while(k>0){
        sum+=k/5;
        k=k/5;
    }
    return sum;
}
ll bin1(ll l,ll r,ll x){
    if(r<l) return -1;
    else{
    ll mid=l+(r-l)/2;
    if(putere(mid)==x) return mid;
    else if(putere(mid)>x) return bin1(l,mid-1,x);
    else return bin1(mid+1,r,x);
    }
}
int32_t main(){
    fin>>n;
    if(n==0){
        fout<<1;
        return 0;
    }
    ll ans=bin1(1,100000000,n);
    if(ans==-1) fout<<-1;
    else fout<<ans-ans%5;
    return 0;
}