# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
530861 | KoD | cmp (balkan11_cmp) | C++17 | 652 ms | 90552 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "cmp.h"
void remember(int n) {
for (int i = 0; i < 6; ++i) {
bit_set(n + 1);
n >>= 2;
}
}
int compare(int b) {
int ok = 6, ng = -1;
while (ok - ng > 1) {
const int md = (ok + ng) / 2;
if (bit_get((b >> (2 * md)) + 1)) {
ok = md;
} else {
ng = md;
}
}
if (ok == 0) {
return 0;
}
const int same = b >> (2 * ok);
const int bit = (b >> (2 * ng)) & 3;
if (bit <= 1) {
return bit_get(4 * same + 1) ? 1 : -1;
} else {
return bit_get(4 * same + 4) ? -1 : 1;
}
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |