Cod sursa(job #3270813)

Utilizator jumaracosminJumara Cosmin-Mihai jumaracosmin Data 24 ianuarie 2025 15:35:34
Problema Factorial Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 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;
    }
    if(gasit)
      fout << res;
    else
      fout << -1;
}