#336. [R54C]切割圆

[R54C]切割圆

时空限制

1S/512M

题目描述

给你 2n2n 个数 a1,a2,,a2na_1,a_2,\dots,a_{2n},这 2n2n 个数收尾拼接组成了一个环,具体地说,a1a_1a2a_2 相邻,a2a_2a3a_3 相邻,……,a2n1a_{2n-1}a2na_{2n} 相邻,a2na_{2n}a1a_1 相邻。

你需要用一条直线将这个环切割成两部分,使得两部分都恰好包含 nn 个元素,下图是对环 [1,4,6,2,7,9][1,4,6,2,7,9] 的一种切割方式:

你需要求出所有可行的切割方式中,切割后每一部分的所有数字的和的异或和的最大值,具体来说,假设切割后两部分所包含的数分别为 b1,b2,,bnb_1,b_2,\dots,b_nc1,c2,,cnc_1,c_2,\dots,c_n,你需要最大化 (i=1nbi)(i=1nci)(\sum_{i=1}^n b_i) \oplus (\sum_{i=1}^n c_i),请输出这个最大值。

格式

输入格式

第一行输入一个整数 nn,表示环的大小的一半。

第二行输入 2n2n 个整数 a1,a2,,a2na_1,a_2,\dots,a_{2n},表示环上的整数。

输出格式

输出一行一个整数,表示切割后每一部分的所有数字的和的异或和的最大值。

样例

样例输入 #1

3
1 4 6 2 7 9

样例输出 #1

29

样例解释 #1

切割方式请见题目描述,此时值为 (4+6+2)(7+9+1)=29(4+6+2) \oplus (7+9+1)=29,可以证明不存在更优的切割方式。

样例输入 #2

5
1 8 3 5 2 12 5 6 4 3

样例输出 #2

13

数据规模

注意:你只有通过了子任务的所有测试点,才能获得对应子任务的分数。

子任务编号 分数 nn \le
11 3030 20002000
22 7070 2×1052 \times 10^5

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