异或最小化
- 描述
-
给出一个非负整数数组 A = [A1, A2, ..., An]。
你可以选择一个任意的非负整数 x,然后对数组的所有元素进行异或操作,即对于所有 i = 1, 2, ..., n,进行如下修改:Ai = Ai xor x。
假设 M 是修改后的数组中的最大值。请输出 M 的最小值。
- 输入
- 第一行包含一个整数 N (1<=N<=1.5*105)。
第二行包含 N 个非负整数 Ai (0<=Ai<=230-1)。 - 输出
- 一个整数表示答案,即 M 的最小值。
- 样例输入
-
样例输入1 3 12 18 11 样例输入2 10 0 0 0 0 0 0 0 0 0 0 样例输入3 5 324097321 555675086 304655177 991244276 9980291
- 样例输出
-
样例输出1 16 样例输出2 0 样例输出3 805306368
- 提示
- 【样例1说明】
选择 x=2 时,新数组为 [12 xor 2, 18 xor 2, 11 xor 2] = [14, 16, 9],最大值 M 为 16,且无论 x 选几,都没有比 16 更小的答案。因此输出 16。