#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> a(n,0);
vector <int> c[7];
a[0]=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);
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);
}
for(int j=2; j<=n; j++){
map <int,int> mp;
for(int i=0; i<7; i++) if((j>>i)&1) for(auto x:c[i]) mp[x]++;
int k=__builtin_popcount(j);
for(auto [x,y]:mp) if(y==k) a[j-1]=x;
}
return a;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |