AT_abc304_g [ABC304G] Max of Medians
题目描述
给定一个长度为 $2N$ 的数列 $A = (A_1, A_2, \ldots, A_{2N})$。
通过重新排列数列 $A$ 的元素,可以得到一个长度为 $N$ 的数列 $(A_1 \oplus A_2, A_3 \oplus A_4, \ldots, A_{2N-1} \oplus A_{2N})$。请你求出作为该数列的中位数所能取得的最大值。
这里,$\oplus$ 表示按位异或运算。
什么是按位异或运算?对于非负整数 $A, B$,它们的按位异或 $A \oplus B$ 定义如下:
- $A \oplus B$ 的二进制表示中,第 $2^k$ 位($k \geq 0$)的数,如果 $A$ 和 $B$ 的二进制表示中该位只有一个为 $1$,则为 $1$,否则为 $0$。
例如,$3 \oplus 5 = 6$(二进制表示为:$011 \oplus 101 = 110$)。
另外,对于长度为 $L$ 的数列 $B$,$B$ 的中位数定义为:将 $B$ 按升序排序得到 $B'$,则 $B'$ 的第 $\lfloor \frac{L}{2} \rfloor + 1$ 个值即为中位数。
输入格式
输入以如下格式从标准输入读入。
> $N$ $A_1$ $A_2$ $\ldots$ $A_{2N}$
输出格式
请输出答案。
说明/提示
### 限制条件
- $1 \leq N \leq 10^5$
- $0 \leq A_i < 2^{30}$
- 输入均为整数
### 样例解释 1
将 $A$ 排列为 $(5, 0, 9, 7, 11, 4, 0, 2)$ 时,$(A_1 \oplus A_2, A_3 \oplus A_4, A_5 \oplus A_6, A_7 \oplus A_8) = (5, 14, 15, 2)$,该数列的中位数为 $14$。无法通过重新排列 $A$ 使得 $(A_1 \oplus A_2, A_3 \oplus A_4, A_5 \oplus A_6, A_7 \oplus A_8)$ 的中位数达到 $15$ 或更大,因此输出 $14$。
由 ChatGPT 4.1 翻译