# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
475580 | 2021-09-23T04:40:05 Z | ismoilov | Xoractive (IZhO19_xoractive) | C++14 | 0 ms | 0 KB |
#include<bits/stdc++.h> #include "interactive.h" using namespace std; vector<int> guess(int n) { if(n <= 14){ vector <int> ans; for(int i = 1; i <= n; i ++) int x = ask(i), ans.push_back(x); return ans; } int a = ask(1); map <int, int> s; for(int i = 0; i < 7; i ++){ vector <int> x; for(int j = 1; j < n; j ++) if(j >> i & 1) x.push_back(j+1); vector <int> c = get_pairwise_xor(x); c.push_back(1); vector <int> c1 = get_pairwise_xor(x); map <int, int> g; for(int j : c) g[j] --; for(int j : c1) g[j] ++; for(auto it : g) if(it.second > 0) s[it.first^a] += (1<<i); } vector <int> ans(n); ans[0] = a; for(auto it : s) ans[it.second] = it.first; return ans; }