Cod sursa(job #2657373)

Utilizator NanuGrancea Alexandru Nanu Data 10 octombrie 2020 13:52:36
Problema Factorial Scor 15
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
#include <algorithm>

using namespace std;

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

#define ull unsigned long long
#define DIM 1000000

ull p, x, nr2, nr5;
int v[DIM + 1];

int CautareBinara(int p) {
    ull st = 1, dr = 1 << 18;
    ull x = -1;
    while(st <= dr) {
        ull mid = (st + dr) / 2;
        if(v[mid] == p) {
            x = mid;
            dr = mid - 1;
        }else if(v[mid] > p)
                dr = mid - 1;
        else st = mid + 1;
    }
    return x; 
}

int main() {
    cin >> p;
    for(int i = 1; i <= DIM; i++) {
        if(i % 5 == 0)
            v[i]++;
        v[i] += v[i - 1];
    }
    cout << CautareBinara(p);
    return 0;
}