Cod sursa(job #2699151)

Utilizator gasparrobert95Gaspar Robert Andrei gasparrobert95 Data 23 ianuarie 2021 18:55:20
Problema Factorial Scor 100
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");

ll zero(ll nr) {
	ll ans = 0;
	for (ll i = 5; i <= nr; i *= 5)
		ans += nr / i;
	return ans;
}

int main() {
    ll p, rez = 0, st = 1, dr = 1e18;
    fin >> p;
    while (st <= dr) {
        ll mij = (st + dr) / 2;
        if (zero(mij) >= p)
            dr = mij - 1, rez = mij;
        else
            st = mij + 1;
    }
    if (zero(rez) != p)
        fout << -1;
    else
        fout << rez;
    return 0;
}