int encode(int n, int x, int y) {
int xy = x ^ y;
int lsb = xy & (-xy);
int count = 0;
while (lsb > 1) {
lsb /= 2;
count++;
}
return 2 * count - ((x ^ (1 << count)) ? 1 : 0);
}
int decode(int n, int q, int h) {
bool inverted = false;
if (h % 2 == 1) inverted = true;
h /= 2;
if (inverted) {
return (q & (1 << h) ? 0 : 1);
} else {
return (q & (1 << h) ? 1 : 0);
}
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
2 ms |
628 KB |
Output isn't correct |
2 |
Incorrect |
3 ms |
1004 KB |
Output isn't correct |