# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1133163 | Halym2007 | Xoractive (IZhO19_xoractive) | C++17 | 0 ms | 0 KiB |
#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);
}
}
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 > 0) {
ans[i.ss ^ val_n] |= (1 << bit);
}
}
}
vector <int> jog(n, 0);
for (auto i : ans) {
jog[i.ss] = i.ff;
}
return jog;
}