Submission #927589

#TimeUsernameProblemLanguageResultExecution timeMemory
927589Muaath_5cmp (balkan11_cmp)C++17
0 / 100
10004 ms106328 KiB
#ifdef MUAATH_5
#include "ioi.h"
#else
#include "cmp.h"
#endif

const int SHIFT = (1 << 12);

void remember(int n) {
	int cur = SHIFT;
	for (int i = 11; i >= 0; i--) {
		if (n & (1 << i)) {
			cur += (1 << i);
			bit_set(cur);
		}
	}
}

int compare(int b) {
	int l = 0, r = 12;
	int cur = 0;
	while (l < r) {
		const int md = (l + r + 1) / 2;
		cur = SHIFT;
		for (int i = 11; i >= md; i--)
			if (b & (1 << i))
				cur += (1 << i);
		if (bit_get(cur))
			l = 12-md;
		else
			r = 12-(md - 1);
	}
	if (l == 12) return 0;
	l = 12 - l;
	if (b & (1 << (l - 1))) return 1;
	return -1;
}
#Verdict Execution timeMemoryGrader output
Fetching results...