| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1322033 | adaawf | cmp (balkan11_cmp) | C++20 | 1163 ms | 99776 KiB |
#include <bits/stdc++.h>
#include "cmp.h"
using namespace std;
void remember(int x) {
int c = 0, d = 0;
for (int i = 11; i >= 0; i--) {
if (i % 3 == 0) bit_set((x >> i) + d);
d += (1 << 12 - i);
}
}
int f[15], g[15];
int compare(int x) {
for (int i = 11; i >= 0; i--) {
f[i] = (x >> i);
g[i - 1] = g[i] + (1 << 12 - i);
}
int xx, y;
if (bit_get(f[6] + g[6])) {
if (bit_get(f[3] + g[3])) {
xx = f[3] * 8 + g[0]; y = 0;
}
else {
xx = f[6] * 8 + g[3]; y = 3;
}
}
else {
if (bit_get(f[9] + g[9])) {
xx = f[9] * 8 + g[6]; y = 6;
}
else {
xx = g[9];
y = 9;
}
}
int c = 0;
for (int i = y; i < y + 3; i++) {
if (x & (1 << i)) {
c += (1 << i - y);
}
}
if (bit_get(xx + c)) return 0;
if (c >= 4) {
for (int i = c + 1; i < 8; i++) {
if (bit_get(xx + i)) return -1;
}
return 1;
}
for (int i = c - 1; i >= 0; i--) {
if (bit_get(xx + i)) return 1;
}
return -1;
}
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
