Nu aveti permisiuni pentru a descarca fisierul grader_test32.in
Cod sursa(job #2657373)
| Utilizator | 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;
}