Cod sursa(job #2928966)

Utilizator raresgherasaRares Gherasa raresgherasa Data 24 octombrie 2022 12:28:13
Problema Factorial Scor 85
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <bits/stdc++.h>
#define ll long long
using namespace std;

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

bool check (ll mid, ll x){
  ll ans = 0;
  while (x > 0){
    ans += x / 5;
    x = x / 5;
  }
  return (ans >= mid);
}

int main(){
  ll x; fin >> x;
  ll l = 0, r = 1e15, ans = 1e15;
  bool ok = false;
  while (l <= r){
    ll mid = l + (r - l) / 2;
    if (check(x, mid)){
      ans = mid;
      ok = true;
      r = mid - 1;
    }
    else{
      l = mid + 1;
    }
  }
  fout << (!ok ? -1 : ans);
}