#P1192. 异或

异或

题目描述

对于长度为 nn 的序列 bb,定义 f(b)f(b) 表示 max⁡i=1n−1bi⊕bi+1\max\limits_{i=1}^{n-1} b_i\oplus b_{i+1}。即相邻两数的异或的最大值。

⊕\oplus 表示按位异或。1⊕0=1,0⊕1=1,0⊕0=0,1⊕1=11\oplus 0=1,0\oplus 1=1,0\oplus 0=0,1\oplus 1=1。

给定长度为 nn 的序列 aa,对于 aa 的一种排列方式 a′a',求出最小的 f(a′)f(a')。

输入格式

第一行一个正整数 nn。

接下来一行 nn 个正整数 aia_i。

输出格式

一行一个正整数表示答案。

样例 1

4
1 2 3 4
5

样例 1 解释

将 a=[1,2,3,4]a=[1,2,3,4] 排列为 a′=[3,2,1,4]a'=[3,2,1,4]。

a1⊕a2=3⊕2=1a_1\oplus a_2=3\oplus 2=1

a2⊕a3=2⊕1=3a_2\oplus a_3=2\oplus 1=3

a3⊕a4=1⊕4=5a_3\oplus a_4=1\oplus 4=5

故 f(a′)f(a') 为 55。

可以证明没有其他排列方式得到的 f(a′)f(a') 比 55 小。

样例 2

3
1 2 3
2

数据范围

对于 20%20\% 的数据,满足 1≤n≤101\leq n\leq 10;

对于 40%40\% 的数据,满足 1≤n≤201\leq n\leq 20;

对于 80%80\% 的数据,满足 1≤n≤30001\leq n\leq 3000;

对于 100%100\% 的数据,满足 1≤n≤2×1051\leq n\leq 2\times 10^5,0≤ai≤1090\leq a_i\leq 10^9。