#ABC281F. 异或最小值

异或最小值

异或最小值

题目描述

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

我们对 AA 只进行一次如下操作。

选择一个非负整数 xx。然后对每个 i=1,,Ni=1, \ldots, N,把 aia_i 替换为 aia_ixx 的按位异或(XOR)。

MM 为操作后 AA 中的最大值。求 MM 可能的最小值。

输入格式

输入按以下格式从标准输入给出。

NN
a1a_1 \ldots aNa_N

输出格式

输出答案。

样例

3
12 18 11
16

若用 x=2x=2 进行操作,序列变为 (122,182,112)=(14,16,9)(12 \oplus 2,18 \oplus 2, 11 \oplus 2) = (14,16,9),此时最大值 MM1616

我们无法把 MM 降到 1616 以下,所以这个值就是答案。

10
0 0 0 0 0 0 0 0 0 0
0
5
324097321 555675086 304655177 991244276 9980291
805306368

数据范围

  • 1N1.5×1051 \le N \le 1.5 \times 10^5
  • 0ai<2300 \le a_i \lt 2^{30}
  • 输入中的所有值均为整数。

提示

什么是按位异或(XOR)?

非负整数 AABB 的按位异或 ABA \oplus B 定义如下。

ABA \oplus B 用二进制表示时,其从低位起的第 kk 位(k0k \geq 0)在 AABB 的第 kk 位中恰好有一位为 11 时为 11,否则为 00

例如,35=63 \oplus 5 = 6(二进制表示为 011101=110011 \oplus 101 = 110)。

难度 提高+/省选
通过率
尝试 0
已通过 0
ID
2566
类型
传统题
Time Limit
2500ms
Memory Limit
1024MiB
上传者
标签