#include<bits/stdc++.h>
#include"interactive.h"
using namespace std;
using ll=long long;
#define fi first
#define se second
vector<int>guess(int n){
vector<int>a(n);
a[0]=ask(1);
map<int,int>ans;
for(int i=1;i<=n;i<<=1){
vector<int>p;
for(int j=2;j<=n;++j)
if(j&i)p.push_back(j);
auto g1=get_pairwise_xor(p);
p.push_back(1);
auto g2=get_pairwise_xor(p);
map<int,int>mp;
for(auto it:g2)++mp[it];
for(auto it:g1)--mp[it];
for(auto it:mp)
if(it.se)
ans[it.fi^a[0]]|=i;
}
for(auto to:ans)a[to.se-1]=to.fi;
return a;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |