Cod sursa(job #1854212)

Utilizator leraValeria lera Data 22 ianuarie 2017 15:00:25
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
long long p,ls,ld,x,mij,s,lg[12000000];
int main()
{
    fin>>p;
    for(int i=1;i<=12000000;i++)
            if(i%5==0)lg[i]=lg[i-1]+lg[i/5]-lg[i/5-1]+1;
            else lg[i]=lg[i-1];
    ls=1;
    ld=12000000;
    while(ls<ld)
    {
        mij=(ls+ld)/2;
        if(lg[mij]>=p)ld=mij;
        else ls=mij+1;
    }
    if(lg[ls]==p)fout<<ls;
    else fout<<-1;
    return 0;
}