Submission #342105

#TimeUsernameProblemLanguageResultExecution timeMemory
342105spike1236Xoractive (IZhO19_xoractive)C++14
90 / 100
6 ms620 KiB
#include <interactive.h> #include <bits/stdc++.h> using namespace std; #define veci vector <int> #define pb push_back #define f first #define s second veci guess(int n) { veci ans(n); ans[0] = ask(1); map <int, int> idx; for(int bit = 0; bit < 7; ++bit) { veci cur; for(int i = 2; i <= n; ++i) if((i >> bit) & 1) cur.pb(i); if(cur.empty()) continue; veci with1 = cur; with1.pb(1); with1 = get_pairwise_xor(with1); cur = get_pairwise_xor(cur); multiset <int> st; for(auto it : with1) st.insert(it); for(auto it : cur) st.erase(st.find(it)); for(auto it : st) idx[it ^ ans[0]] |= (1 << bit); } for(auto it : idx) assert(it.s - 1 >= 0), ans[it.s - 1] = it.f; for(int i = 0; i < n; ++i) if(!ans[i]) ans[i] = ask(i + 1); return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...