时空限制
1S/512M
题目描述
给你 2n 个数 a1,a2,…,a2n,这 2n 个数收尾拼接组成了一个环,具体地说,a1 与 a2 相邻,a2 与 a3 相邻,……,a2n−1 与 a2n 相邻,a2n 与 a1 相邻。
你需要用一条直线将这个环切割成两部分,使得两部分都恰好包含 n 个元素,下图是对环 [1,4,6,2,7,9] 的一种切割方式:
你需要求出所有可行的切割方式中,切割后每一部分的所有数字的和的异或和的最大值,具体来说,假设切割后两部分所包含的数分别为 b1,b2,…,bn 和 c1,c2,…,cn,你需要最大化 (∑i=1nbi)⊕(∑i=1nci),请输出这个最大值。
格式
输入格式
第一行输入一个整数 n,表示环的大小的一半。
第二行输入 2n 个整数 a1,a2,…,a2n,表示环上的整数。
输出格式
输出一行一个整数,表示切割后每一部分的所有数字的和的异或和的最大值。
样例
样例输入 #1
3
1 4 6 2 7 9
样例输出 #1
29
样例解释 #1
切割方式请见题目描述,此时值为 (4+6+2)⊕(7+9+1)=29,可以证明不存在更优的切割方式。
样例输入 #2
5
1 8 3 5 2 12 5 6 4 3
样例输出 #2
13
数据规模
注意:你只有通过了子任务的所有测试点,才能获得对应子任务的分数。
| 子任务编号 |
分数 |
n≤ |
| 1 |
30 |
2000 |
| 2 |
70 |
2×105 |
对于 100% 的数据,1≤n≤2×105,0≤ai≤109。