#include "interactive.h"
#include<bits/stdc++.h>
typedef long long ll;
#define pb push_back
#define fr first
#define sc second
#define endl '\n'
using namespace std;
vector<int> guess(int n) {
vector <int> ans(n);
ans[0]=ask(1);
map<int,int>loc;
for(int i=0;(1<<i)<=n;i++){
vector<int>v;
for(int j=2;j<=n;j++){
if((j-1)&(1<<i))v.pb(j);
}
v.pb(1);
vector<int>res=get_pairwise_xor(v);
map<int,int>cnt;
for(int x:res){
if(x==0)continue;
cnt[x]++;
}
v.pop_back();
if(v.size())res=get_pairwise_xor(v);
for(int x:res){
if(x==0)continue;
if(!--cnt[x])cnt.erase(x);
}
for(auto[a,b]:cnt){
loc[a^ans[0]]+=(1<<i);
}
}
for(auto[a,b]:loc){
ans[b]=a;
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |