# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
208354 | 2020-03-10T22:39:50 Z | MetB | Xoractive (IZhO19_xoractive) | C++14 | 0 ms | 0 KB |
#include "interactive.h" #include <bits/stdc++.h> vector <int> guess (int n) { map <int, int> ind; int d = ask (1); for (int b = 0; b < 7; b++) { vector <int> v; for (int i = 0; i < n; i++) { if (i & (1 << b)) v.push_back (i + 1); } if (v.empty ()) break; vector <int> ans = get_pairwise_xor (v); v.push_back (1); vector <int> ans2 = get_pairwise_xor (v); for (int a : ans) ans2.erase (find (ans2.begin (), ans2.end (), a)); sort (ans2.begin(), ans2.end()); for (int i = 1; i < ans2.size (); i += 2) { ind[ans2[i] ^ d] |= (1 << b); } } vector <int> ans (n); ans[0] = d; for (auto x : ind) { ans[x.second] = x.first; } return ans; }