#P4098. [HEOI2013] ALO

    ID: 3041 Type: RemoteJudge 1000ms 128MiB Tried: 0 Accepted: 0 Difficulty: 6 Uploaded By: Tags>2013各省省选河北枚举可持久化字典树,Trie

[HEOI2013] ALO

题目描述

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

现在你拥有 nn 颗宝石,第 ii 颗宝石有一个能量密度,记为 aia_i,这些宝石的能量密度两两不同。现在你可以选取连续的一些宝石(必须多于一个)进行融合,设他们的能量密度为 ai,ai+1,,aja_i,a_{i+1},\cdots,a_j,则融合而成的宝石的能量密度为这些宝石中能量密度的次大值与其他任意一颗宝石的能量密度按位异或的值的最大值。即,假设该段宝石能量密度次大值为 kk,则生成的宝石的能量密度为 max{kapapk,ipj}\max\{k\oplus a_p\mid a_p\ne k, i\le p\le j\}

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

输入格式

第一行,一个整数 nn,表示宝石个数。

第二行,nn 个整数,分别表示 a1a_1ana_n,表示每颗宝石的能量密度,保证对于 iji\ne jaiaja_i\ne a_j

输出格式

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

5 
9 2 1 4 7
14

提示

样例解释

选择区间 [1,5][1,5],最大值为 79=147\oplus 9 = 14

数据规模与约定

  • 对于 20%20\% 的数据有 n100n\le 100
  • 对于 50%50\% 的数据有 n2000n\le 2000
  • 对于 100%100\% 的数据有 1n500001\le n\le 500000ai1090\le a_i\le 10^9

2023.4.28:添加两组 hack 数据,不计分。