Cod sursa(job #1919621)

Utilizator SenibelanMales Sebastian Senibelan Data 9 martie 2017 20:17:08
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream>

using namespace std;

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

const long long oo = 1000000000;
long long P;
long long sol = -1;

long long Works(long long n){
  long long zr = 0;
  while(n){
    zr += n / 5;
    n /= 5;
  }
  return zr;
}

void BinarySearch(long long left, long long right){
  long long mid;
  while(left <= right){
    mid = (left + right) / 2;
    long long aux = Works(mid);
    if(aux == P){
      sol = mid;
      right = mid - 1;
    }
    else if(aux > P)
      right = mid - 1;
    else
      left = mid + 1;
  }
}

int main(){
  in >> P;
  BinarySearch(1, oo);
  out << sol << "\n";
  return 0;
}