Submission #865293

#TimeUsernameProblemLanguageResultExecution timeMemory
865293Halym2007Xoractive (IZhO19_xoractive)C++11
100 / 100
4 ms768 KiB
#include <bits/stdc++.h>
#include "interactive.h"
#define ff first
#define ss second
#define pb push_back
#define sz size()
using namespace std;
int h[101];
vector<int> guess(int n) {
	int x = ask(n);
	map <int, int> m;
	for (int bit = 0; bit <= 6; ++bit) {
		vector <int> v, jog1, jog2;
		map <int, int> cnt;
		for (int i = 1; i < n; ++i) {
			if (i>>bit&1) {
				v.pb (i);
			}
		}
		if (v.empty()) continue;
		jog1 = get_pairwise_xor(v);
		v.pb (n);
		jog2 = get_pairwise_xor(v);
		for (int i : jog2) {
			cnt[i]++;
		}
		for (int i : jog1) {
			cnt[i]--;
		} 
		for (auto i : cnt) {
			if (i.ff and i.ss) {
				m[i.ff^x] |= (1<<bit);
			}
		}
	}
	vector <int> jogap;
	for (auto i : m) {
		h[i.ss] = i.ff;
	}
	h[n] = x;
	for (int i = 1; i <= n; ++i) {
		jogap.pb(h[i]);
	}
	return jogap;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...