# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
618686 | maximath_1 | Xoractive (IZhO19_xoractive) | C++11 | 1 ms | 256 KiB |
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);
for(int i = 0; i < n; i ++)
ans[i] = ask(i + 1);
vector<int> a2 = ans;
sort(a2.begin(), a2.end());
a2.erase(unique(a2.begin(), a2.end()), a2.end());
assert(a2.size() == n);
return ans;
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){
int cr = (i.first ^ ans[0]);
li[cr] |= (1 << lg);
}
}
for(auto i : li){
ans[i.second - 1] = i.first;
}
return ans;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |