#AT2410. F - Xor Minimization

F - Xor Minimization

当前没有测试数据。

F - 最小化异或运算

得分: $500$ 分

问题描述

给定一个非负整数序列 $A=(a_1,\ldots,a_N)$。

让我们对 $A$ 执行以下操作。

  • 选择一个非负整数 $x$。然后,对于 $i=1, \ldots, N$,用 $a_i$ 与 $x$ 的异或运算结果取代 $a_i$ 的值。

设操作后 $A$ 中的最大值为 $M$。找到 $M$ 的最小可能值。

什么是异或运算? 非负整数 $A$ 和 $B$ 的异或运算 $A \oplus B$ 的定义如下。
  • 当 $A \oplus B$ 用二进制表示时,$k$-th 位($k \geq 0$)是 $1$ 当且仅当 $A$ 和 $B$ 的 $k$-th 位上只有一个为 $1$,否则为 $0$。
例如,$3 \oplus 5 = 6$(二进制表示为:$011 \oplus 101 = 110$)。

约束

  • $1 \leq N \leq 1.5 \times 10^5$
  • $0 \leq a_i \lt 2^{30}$
  • 输入中所有的值都是整数。

输入

输入的格式如下:

NN

a1a_1 \ldots aNa_N

输出

输出答案。


3
12 18 11
16

如果我们选择 $x=2$ 进行操作,序列变为 $(12 \oplus 2,18 \oplus 2, 11 \oplus 2) = (14,16,9)$,其中最大值 $M$ 为 $16$。
我们无法使 $M$ 小于 $16$,所以这个值就是答案。


10
0 0 0 0 0 0 0 0 0 0
0

5
324097321 555675086 304655177 991244276 9980291
805306368