Cod sursa(job #3135879)

Utilizator profinfo114Prof Info profinfo114 Data 4 iunie 2023 17:00:12
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <bits/stdc++.h>

using namespace std;

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

int main(){
  long long x; fin >> x;
  long long l = 1, r = 1e15, ans = -1;
  while (l <= r){
    long long mid = l + (r - l) / 2;
    long long cnt = 0, y = mid;
    while (y > 0){
      cnt += y / 5;
      y = y / 5;
    }
    if (cnt >= x){
      ans = mid;
      r = mid - 1;
    }
    else{
      l = mid + 1;
    }
  }
  long long cnt = 0, y = ans;
  while (y > 0){
    cnt += y / 5;
    y = y / 5;
  }
  fout << (cnt == x ? ans : -1);
}