Submission #1246974

#TimeUsernameProblemLanguageResultExecution timeMemory
1246974MateiKing80cmp (balkan11_cmp)C++20
64 / 100
1184 ms82600 KiB
#include "cmp.h"
#include <bits/stdc++.h>

int gib(int x, int bit) {
	if (x & (1 << bit))
		return 1;
	return 0;
}

void remember(int a) {
	for (int i = 0; i < 6; i ++) {
		int x = i * 4 + 1 + gib(a, 2 * i) + 2 * gib(a, 2 * i + 1);
		bit_set(x);
	}
}

int compare(int b) {
	for (int i = 5; i >= 0; i --) {
		int x = i * 4 + 1 + gib(b, 2 * i) + 2 * gib(b, 2 * i + 1);
		if (bit_get(x))
			continue;
		if (bit_get(i * 4 + 1 + gib(b, 2 * i) + 2 * (1 - gib(b, 2 * i + 1))) || bit_get(i * 4 + 1 + (1 - gib(b, 2 * i)) + 2 * (1 - gib(b, 2 * i + 1)))) {
			if (gib(b, 2 * i + 1))
				return 1;
			return -1;
		}
		if (gib(b, 2 * i))
			return 1;
		return -1;
	}
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...