Submission #35130

# Submission time Handle Problem Language Result Execution time Memory
35130 2017-11-18T08:31:42 Z imeimi2000 Question (Grader is different from the original contest) (CEOI14_question_grader) C++14
100 / 100
1849 ms 25676 KB
int encode(int n, int x, int y) {
	static int db[921];
	static bool chk = false;
	if (!chk) {
		for (int i = 1, j = (1 << 6) - 2; i <= 920; ++i) {
			while (__builtin_popcount(++j) != 6);
			db[i] = j;
		}
	}
	chk = true;
	for (int i = 0; i < 12; ++i) {
		if (((db[x] >> i) & 1) == 1 && ((db[y] >> i) & 1) == 0) return i + 1;
	}
	return -1;
}
int decode(int n, int q, int h) {
	static int db[921];
	static bool chk = false;
	if (!chk) {
		for (int i = 1, j = (1 << 6) - 2; i <= 920; ++i) {
			while (__builtin_popcount(++j) != 6);
			db[i] = j;
		}
	}
	chk = true;
	return (db[q] >> (h - 1)) & 1;
}
# Verdict Execution time Memory Grader output
1 Correct 1849 ms 25676 KB Output is correct - maxh = 12
2 Correct 1825 ms 25676 KB Output is correct - maxh = 12