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>
#pragma GCC optimize("Ofast")
using namespace std;
#define rep(i, a, b) for(ll i = a; i < ll(b); ++i)
#define trav(a, x) for(auto& a : x)
#define all(x) x.begin(), x.end()
#define sz(x) (ll)(x).size()
typedef long long ll;
typedef pair<int, int> pii;
typedef vector<int> vi;
vector<int> guess(int n) {
ll d = ask(1);
map<ll,ll> ind;
rep(b,0,7){
vi pos;
rep(i,0,n){
if((1<<b)&i) {
pos.push_back(i+1);
//cout<<i<<" ";
}
}
if(sz(pos)==0) continue;
//cout<<":"<<endl;
vi res = get_pairwise_xor(pos);
pos.push_back(1);
vi resd = get_pairwise_xor(pos);
trav(r,res) resd.erase(find(all(resd),r));
sort(all(resd));
for(ll i = 1; i<sz(resd);i+=2){
ll val = resd[i]^d;
ind[val] |= (1<<b);
//cout<<val<<" ";
}
//cout<<endl;
}
vi ans(n);
ans[0] = d;
trav(x,ind){
//cout<<x.second<<": "<<x.first<<endl;
ans[x.second] = x.first;
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |