SZ-TG-057. [CodeChef REBXOR] 尼基托什与异或(Nikitosh and xor)

提交1 通过1
通过率100%
时间限制1500ms
内存限制512MiB

题目描述

题目描述

画家尼基托什有一个包含 NN 个元素的数组 AA,下标从 11 开始。他希望找出下面这个表达式的最大值:

$$\bigl(A[l_1]\oplus A[l_1+1]\oplus\cdots\oplus A[r_1]\bigr) +\bigl(A[l_2]\oplus A[l_2+1]\oplus\cdots\oplus A[r_2]\bigr)$$

其中 1≤l1≤r1<l2≤r2≤N1\le l_1\le r_1<l_2\le r_2\le N,符号 ⊕\oplus 表示按位异或。

也就是说,需要选择两段非空且不相交的连续子数组,第一段在第二段左边;分别计算两段内所有元素的异或值,再将这两个异或值相加,使结果最大。两段可以相邻,也可以不相邻。

尼基托什是一名画家,而不是数学家,请你帮助他完成这个任务。

输入格式

第一行一个整数 NN,表示数组的元素个数。

第二行 NN 个整数 A1,A2,…,ANA_1,A_2,\ldots,A_N,用空格分隔。

输出格式

输出一个整数,表示给定表达式能够取得的最大值。

样例输入 1

5
1 2 3 1 2

样例输出 1

6

输入样例 #2

2
0 0

输出样例 #2

0

输入样例 #3

3
1 2 4

输出样例 #3

7

说明/提示

可以选择 (l1,r1,l2,r2)=(1,2,3,3)(l_1,r_1,l_2,r_2)=(1,2,3,3),也可以选择 (1,2,4,5)(1,2,4,5) 或 (3,3,4,5)(3,3,4,5),都能得到最大值 66。

数据范围

对于所有数据,2≤N≤4×1052\le N\le4\times10^5,0≤Ai≤1090\le A_i\le10^9。

  • 子任务 1(40 分):2≤N≤1042\le N\le10^4。
  • 子任务 2(60 分):无额外限制。