Cod sursa(job #2531236)

Utilizator Rares31100Popa Rares Rares31100 Data 25 ianuarie 2020 22:11:44
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <bits/stdc++.h>
#define Inf 1000000000000000
#define ULL unsigned long long

using namespace std;

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

ULL nr=0;
ULL p;

ULL total(ULL val)
{
    ULL sum=0;

    for(ULL i=5;val/i>=1;i*=5)
        sum+=val/i;

    return sum;
}

int main()
{
    in>>p;

    for(ULL pas=Inf;pas;pas/=2)
        while( total(nr+pas)<p )
            nr+=pas;

    nr++;

    if(total(nr)!=p)
        out<<-1;
    else
        out<<nr;

    return 0;
}