Cod sursa(job #3122943)

Utilizator Sorin123-21Enachioiu Sorin-Catalin Sorin123-21 Data 21 aprilie 2023 12:33:56
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <bits/stdc++.h>
using namespace std;

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

typedef long long ll;
typedef long double ld;

long countZeros(long val){
    long result = 0;

    for(long i=5; i<= val; i*=5)
    {
      result+= val/i;
    }
    return result;
}


long noOfZeros;
long long cautBinar(long long l, long long r){
    long result = -1;
    while(l <= r){
        long long mid = (l+r)/2;
        long zeros = countZeros(mid);
        if(zeros == noOfZeros){
            result = mid;
            r = mid - 1;
        }else{
            if(zeros > noOfZeros){
                r = mid - 1;
            }else{
                l = mid + 1;
            }
        }
    }
    
    return result;
}

void solve(){
    in >> noOfZeros;
    if(noOfZeros == 0){
        out << 1;
        return;
    }
    out << cautBinar(1, 500000000);
}

int main()
{
    ios_base::sync_with_stdio(false);cin.tie(0);
    solve();
    return 0;
}