#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |