#P1192. 异或

异或

题目描述

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

\oplus 表示按位异或。10=1,01=1,00=0,11=11\oplus 0=1,0\oplus 1=1,0\oplus 0=0,1\oplus 1=1

给定长度为 nn 的序列 aa,对于 aa 的一种排列方式 aa',求出最小的 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]

a1a2=32=1a_1\oplus a_2=3\oplus 2=1

a2a3=21=3a_2\oplus a_3=2\oplus 1=3

a3a4=14=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\% 的数据,满足 1n101\leq n\leq 10

对于 40%40\% 的数据,满足 1n201\leq n\leq 20

对于 80%80\% 的数据,满足 1n30001\leq n\leq 3000

对于 100%100\% 的数据,满足 1n2×1051\leq n\leq 2\times 10^50ai1090\leq a_i\leq 10^9