#abc281f. [abc281_f]Xor Minimization

[abc281_f]Xor Minimization

题目描述

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

让我们对 AA 执行以下操作一次:

  • 选择一个非负整数 xx。然后,对于每个 i=1,ldots,Ni=1, \\ldots, N,用 aia_i 的按位异或运算结果 aioplusxa_i \\oplus x 替换 aia_i 的值。

MM 是操作后 AA 中的最大值。找到 MM 的最小可能值。

什么是按位异或运算?非负整数 AABB 的按位异或运算 AoplusBA \\oplus B 定义如下:

  • AoplusBA \\oplus B 用二进制表示时,第 kk 低位(kgeq0k \\geq 0)为 11,当且仅当 AABB 的第 kk 低位中只有一个为 11,否则为 00

例如,3oplus5=63 \\oplus 5 = 6(二进制表示:011oplus101=110011 \\oplus 101 = 110)。

约束条件

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

输入

输入通过标准输入给出,格式如下:

NN a1a_1 ldots\\ldots aNa_N

输出

输出答案。

示例输入 1

3
12 18 11

示例输出 1

16

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

示例输入 2

10
0 0 0 0 0 0 0 0 0 0

示例输出 2

0

示例输入 3

5
324097321 555675086 304655177 991244276 9980291

示例输出 3

805306368