#include "cmp.h"
#include <bits/stdc++.h>
using namespace std;
void remember(int value)
{
int a = 1;
for (int i = 11; i >= 0; i--)
{
a *= 2;
if (value & (1 << i))
a++;
if (i % 2 == 0)
bit_set(a);
}
}
int compare(int value)
{
int a = 1;
vector<int> pos;
for (int i = 11; i >= 0; i--)
{
a *= 2;
if (value & (1 << i))
a++;
if (i % 2 == 0)
pos.push_back(a);
}
int L = 0, R = 6;
while (L + 1 != R)
{
int m = (L + R) / 2;
int x = bit_get(pos[m]);
if (x)
L = m;
else
R = m;
}
if (L == 5)
return 0;
int s1 = pos[L] % 2;
int s2 = (pos[L] / 2) % 2;
int x2 = bit_get(pos[L] + 1 - 2 * s1);
if (x2)
{
if (s1)
return 1;
return -1;
}
if (s2)
return 1;
return -1;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |