# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
471692 | 2021-09-10T09:42:51 Z | nickmet2004 | Xoractive (IZhO19_xoractive) | C++11 | 0 ms | 0 KB |
#include<bits/stdc++.h> #include "interactive.h" using namespace std; map<int , int> Z; vector<int> guess(int n){ int a = ask(1); for(int i = 0; i< 7; ++i){ vector<int> x , y; for(int k = 1; k < n; ++k){ if(k>>i&1)x.emplace_back(k+1) , y.emplace_back(k+1); } vector<int> X ,Y; y.emplace_back(1); X = get_pairwise_xor(x); Y = get_pairwise_xor(y); set<int> s; for(int x : X) if(x) s.insert(x); for(int x : Y) if(x && s.find(x) == s.end()) Z[x ^ a] += 1 << i; } for(auto x : Z) ans[x.second] = x.first; vector<int> ans; ans.resize(n); ans[0]=a; for(auto x : Z) ans[x.second] = x.first; return ans; }