This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "interactive.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> guess(int n) {
vector<int> ans(n);
ans[0] = ask(1);
map<int, int> li;
for(int lg = 0; lg <= 6; lg ++){
vector<int> v;
for(int j = 2; j <= n; j ++){
if(j & (1 << lg)) v.push_back(j);
}
if(v.empty()) continue;
vector<int> gtv = get_pairwise_xor(v);
v.push_back(1);
vector<int> gtvp = get_pairwise_xor(v);
map<int, int> mp;
for(int i : gtv) if(i) mp[i] --;
for(int i : gtvp) if(i) mp[i] ++;
for(auto i : mp) if(i.second){
int cr = (i.first ^ ans[0]);
li[cr] |= (1 << lg);
}
}
for(auto i : li){
ans[i.second - 1] = i.first;
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |