题目描述
对于长度为 n 的序列 b,定义 f(b) 表示 i=1maxn−1bi⊕bi+1。即相邻两数的异或的最大值。
⊕ 表示按位异或。1⊕0=1,0⊕1=1,0⊕0=0,1⊕1=1。
给定长度为 n 的序列 a,对于 a 的一种排列方式 a′,求出最小的 f(a′)。
输入格式
第一行一个正整数 n。
接下来一行 n 个正整数 ai。
输出格式
一行一个正整数表示答案。
样例 1
4
1 2 3 4
5
样例 1 解释
将 a=[1,2,3,4] 排列为 a′=[3,2,1,4]。
a1⊕a2=3⊕2=1
a2⊕a3=2⊕1=3
a3⊕a4=1⊕4=5
故 f(a′) 为 5。
可以证明没有其他排列方式得到的 f(a′) 比 5 小。
样例 2
3
1 2 3
2
数据范围
对于 20% 的数据,满足 1≤n≤10;
对于 40% 的数据,满足 1≤n≤20;
对于 80% 的数据,满足 1≤n≤3000;
对于 100% 的数据,满足 1≤n≤2×105,0≤ai≤109。