Cod sursa(job #2159084)

Utilizator mirelPmirel p mirelP Data 10 martie 2018 18:49:42
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>

using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int n,p,i,st,dr,med,k,s;
int dx[19]={
25,
125,
625,
3125,
15625,
78125,
390625,
1953125,
9765625,
48828125,
244140625,
1220703125};

int main()
{

    fin>>p;
    st=1;
    dr=2100000000;
    while(st<=dr)
    {
        med=(st+dr)>>1;
        s=s+med/5;
        for(i=0;i<=11;i++)
            if(med>=dx[i])
            s=s+i+1;
        if(s==p)
        {
            k=med;
            dr=med-1;
        }
        else
            if(s<p)
            st=med+1;
        else
            dr=med-1;
            //fout<<med<<endl;
            s=0;
    }
    if(k)
        fout<<k;
    else
        fout<<-1;
    return 0;
}