Cod sursa(job #3270814)

Utilizator jumaracosminJumara Cosmin-Mihai jumaracosmin Data 24 ianuarie 2025 15:36:04
Problema Factorial Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <bits/stdc++.h>

#define ll long long

using namespace std;

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

ll p;

void read();
ll zeros(ll);
void solve();

int main()
{
    read();
    solve();
    return 0;
}

void read()
{
    fin >> p;
}

ll zeros(ll n)
{
    if(n < 0)
        return 0;

    ll cnt = 0;
    for(ll i = 5; n / i >= 1; i *= 5)
        cnt += n / i;
    return cnt;
}

void solve()
{
    ll st, dr, res;
    st = 0;
    dr = 5 * p;
    res = -1;
    while(st <= dr)
    {
        ll mij = (st + dr) / 2;
        ll z = zeros(mij);
        if(z == p)
            res = mij, dr = mij - 1;
        else if(z > p)
            dr = mij - 1;
        else
            st = mij + 1;
    }
    fout << res;
}