Cod sursa(job #2710014)

Utilizator Gabriel_DascalescuGabriel Dascalescu Gabriel_Dascalescu Data 21 februarie 2021 17:39:43
Problema Factorial Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>

using namespace std;

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

int v[10000000];

bool zero(int a,int p)
{
    int cnt=0;
    for(int i=5; i<=a; i*=5)
    {
        cnt+=a/i;
    }
    if(cnt>=p)
        return 1;
    else
        return 0;
}

int bs(int st, int dr, int a)
{
    int med;
    while(dr-st>1)
    {
        med = (st+dr)/2;
        if(zero(med,a)!=zero(med-1,a))
            return med;
        if(zero(med,a))
            dr = med;
        else
            st = med;
    }
    if(zero(dr,a)!=zero(dr-1,a))
        return dr;
    if(zero(st,a)!=zero(st-1,a))
        return st;
    if(a==0)
        return 1;
    return -1;
}

int p;

int main()
{
    fin>>p;
    fout<<bs(0,p*5,p);
    return 0;
}