#include "cmp.h"
#include <bits/stdc++.h>
template<typename T>
using vec = std::vector<T>;
using namespace std;
void bs(int n) { return bit_set(n + 1); }
int bg(int n) { return bit_get(n + 1); }
void remember(int n) {
vec<bool> bits(12);
for (int i = 0; i < 12; i++)
bits[i] = n >> i & 1;
int ones = (int) count(bits.begin(), bits.end(), true);
bool flip = false;
if (6 < ones)
flip = true;
if (flip) bs(0);
for (int i = 11; 0 <= i; i--)
if ((n >> i & 1) != flip)
bs(i + 1);
}
int compare(int b) {
int flipped = bg(0);
for (int i = 11; 0 <= i; i--) {
int a = bg(i + 1) ^ flipped;
if (a ^ (b >> i & 1))
return a ? -1 : 1;
}
return 0;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |