#AT2595. G - Max of Medians

G - Max of Medians

当前没有测试数据。

G - 最大中位数

分数:625 分

问题描述

给定一个长度为 $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$)上的数字为 $1$ 当且仅当 $A$ 和 $B$ 的二进制表示中第 $2^k$ 位上的数字有且只有一个为 $1$,否则为 $0$。
例如,$3 \oplus 5 = 6$(二进制表示为 $011 \oplus 101 = 110$)。

另外,对于长度为 $L$ 的序列 $B$,$B$ 的中位数是将 $B$ 按升序排序后位于第 $\lfloor \frac{L}{2} \rfloor + 1$ 位置上的值。

约束

  • $1 \leq N \leq 10^5$
  • $0 \leq A_i < 2^{30}$
  • 所有输入数值都是整数。

输入

从标准输入读入数据,数据格式如下:

NN

A1A_1 A2A_2 \ldots A2NA_{2N}

输出

输出答案。


4
4 0 0 11 2 7 9 5
14

通过将 $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$。


1
998244353 1000000007
1755654

5
1 2 4 8 16 32 64 128 256 512
192