Submission #1133451

#TimeUsernameProblemLanguageResultExecution timeMemory
1133451mnbvcxz123Question (Grader is different from the original contest) (CEOI14_question_grader)C++20
100 / 100
824 ms40808 KiB
#include <bits/stdc++.h>

using namespace std;

int encode (int n, int x, int y) {
	static vector<int> dp(921);

	if (dp[0] == 0) {
		int cnt = 0;
		for (int mask = 1; mask < (1 << 12) && cnt <= 920; ++mask)
			if (__builtin_popcount(mask) == 6)
				dp[++cnt] = mask;
		dp[0] = -1;
	}

	int ans;
	for (int k = 0; k < 12; ++k)
		if ((dp[x] & (1 << k)) && !(dp[y] & (1 << k)))
			ans = k;

	return ans + 1;
}
#include <bits/stdc++.h>

using namespace std;

int decode (int n, int q, int h) {
	static vector<int> dp(921);

	if (dp[0] == 0) {
		int cnt = 0;
		for (int mask = 1; mask < (1 << 12) && cnt <= 920; ++mask)
			if (__builtin_popcount(mask) == 6)
				dp[++cnt] = mask;
		dp[0] = -1;
	}

	return (dp[q] >> (h - 1)) & 1;
}
#Verdict Execution timeMemoryGrader output
Fetching results...