测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A6706. 「HEOI2013」ALO

编程题 省选/NOI-

题目描述

Welcome to ALO (Arithmetic and Logistic Online)。这是一个 VR MMORPG,如名字所见,到处充满了数学的谜题。

现在你拥有 $n$ 颗宝石,每颗宝石有一个能量密度,记为 $a_i$,这些宝石的能量密度两两不同。现在你可以选取连续的一些宝石(必须多于一个)进行融合,设为 $a_i, a_i + 1,\dots , a_j$,则融合而成的宝石的能量密度为这些宝石中能量密度的次大值与其他任意一颗宝石的能量密度按位异或的值,即,设该段宝石能量密度次大值为 $k$,则生成的宝石的能量密度为 $\max\{k \text{ xor } a_p | a_p \ne k, i \leq p \leq j\}$。

现在你需要知道你怎么选取需要融合的宝石,才能使生成的宝石能量密度最大。

输入格式

第一行有一个整数 $n$,表示宝石个数。

第二行有 $n$ 个整数,分别表示 $a_1$ 至 $a_n$,表示每颗宝石的能量密度,保证对于 $i \ne j$ 有 $a_i \ne a_j$。

输出格式

输出一行一个整数,表示最大能生成的宝石能量密度。

输入输出样例

输入 #1
5 
9 2 1 4 7
输出 #1
14

说明/提示

对于 $20\%$ 的数据有 $n \leq 100$;
对于 $50\%$ 的数据有 $n \leq 2000$;
对于 $100\%$ 的数据有 $1 \leq n \leq 50000$,$0 \leq a_i \leq 10^9$。
上一题 去做题 下一题