Cod sursa(job #2978698)

Utilizator pmih12Petrache Mihnea pmih12 Data 14 februarie 2023 03:23:38
Problema Factorial Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>
#include <iostream>
#include <climits>
#define ll long long
using namespace std;

ifstream fin("fact.in");
ofstream fout("fact.out");
ll p, n, sw;

ll nr0(ll n)
{
    if (n < 0) return -1;
    else
    {
        ll k = 0;
        for (int i = 5; n/i >= 1; i *= 5)
            k += n/i;
        return k;
    }
}

ll minn = INT_MAX, ls, ld, mij, x;
void bs() {
    ls=1;
    ld=1e5;
    mij=(ls+ld)/2;
    while (ls<ld)
    {
        x=nr0(mij);
        if (x==p)
        {
            sw=1;
            break;
        }
        else
        {
            if (x<p)
                ls=mij+1;
            else
                ld=mij-1;
        }
        mij=(ls+ld)/2;
    }
    if (sw)
        mij -= mij%5;
    else
    {
        fout<<-1;
        exit(0);
    }
}

int main() {
    fin >> p;
    bs();
    fout << mij << '\n';

    return 0;
}