#include <bits/stdc++.h>
#include "interactive.h"
using namespace std;
#define ll long long
#define sz size()
#define ff first
#define ss second
#define pb push_back
#define pii pair <int, int>
#define dur exit(0)
#define dur1 return(0)
const int N = 2e5 + 5;
vector <int> guess (int n) {
map <int, int> ans;
int val_n = ask (n);
for (int bit = 0; bit <= 6; ++bit) {//uzynlyk 7; x>>bit diymek x-in 2-lik sistemada bashdahy bit sany pozyan diymek
vector <int> v;
for (int i = 1; i < n; ++i) {
if (i >> bit & 1) {//bit-nji 1-a den bolsa
v.pb (i);
}
}
if (v.empty()) continue;
map <int, int> cnt;
vector <int> a1 = get_pairwise_xor (v);
v.pb (n);
vector <int> a2 = get_pairwise_xor (v);
for (int i : a2) {
cnt[i]++;
}
for (int i : a1) {
cnt[i]--;
}
for (auto i : cnt) {
if (i.ss and i.ff) {
ans[i.ff ^ val_n] |= (1 << bit);
}
}
}
vector <int> jog(n, 0);
for (auto i : ans) {
jog[i.ss - 1] = i.ff;
assert (i.ss <= n and i.ss >= 1);
}
jog[n - 1] = val_n;
return jog;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |