Submission #1161625

#TimeUsernameProblemLanguageResultExecution timeMemory
1161625cnn008Xoractive (IZhO19_xoractive)C++20
100 / 100
2 ms488 KiB
#include "interactive.h" #include <bits/stdc++.h> using namespace std; vector <int> rsz(vector <int> &v){ vector <int> v1; int n=(int)v.size(); n=sqrt(n); for(int i=n; i<(int)v.size(); i+=2) v1.push_back(v[i]); return v1; } vector<int> guess(int n) { vector <int> ans; vector <int> a(n+1,0); vector <int> c[7]; a[1]=ask(1); for(int i=0; i<7; i++){ vector <int> v; for(int j=2; j<=n; j++) if((j>>i)&1) v.push_back(j); if(v.empty()) continue; vector <int> cur=get_pairwise_xor(v); cur=rsz(cur); v.push_back(1); vector <int> cur1=get_pairwise_xor(v); cur1=rsz(cur1); map <int,int> mp; for(auto x:cur1) mp[x]++; for(auto x:cur) mp[x]--; for(auto [x,y]:mp) if(y) c[i].push_back(x^a[1]); } map <int,int> mp; for(int i=0; i<7; i++) for(auto j:c[i]) mp[j]+=(1<<i); for(auto [x,y]:mp) a[y]=x; ans.push_back(a[1]); for(int i=2; i<=n; i++) ans.push_back(a[i]); return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...