Submission #342108

#TimeUsernameProblemLanguageResultExecution timeMemory
342108spike1236Xoractive (IZhO19_xoractive)C++14
100 / 100
6 ms624 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) if(it) st.insert(it); for(auto it : cur) if(it) 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; return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...