#508. 小依变小圆

小依变小圆

题目描述

小依想要多吃点饭,变得圆一些。

nn 碗饭,第 ii 碗中有 aia _ i 单位的饭。每碗饭只能吃一次。

定义 fi,jf _ {i, j}1in1 \le i \le n1j2n1 \le j \le 2n)表示小依从第 ii 碗开始,行动 jj 次后吃掉的饭的总量的最大值。小依行动一次可以不动,向左一个或向右一个。小依会吃掉经过的所有饭。起始点那碗饭不需要任何行动就能吃到。

小依想要知道 ff 数组的所有值。

输入格式

第一行一个正整数 nn

接下来 nn 个整数表示 aa

输出格式

为了减少输出量,你只需要输出 $\bigoplus\limits _ {i = 1} ^ n(i + \bigoplus\limits _ {j = 1} ^ {2n} j\times f _ {i, j})$ 的值,其中 \bigoplus 为求异或和符号。

样例

样例输入 1

5
4 2 4 1 4

样例输出 1

98

样例输入/输出 2

见下发文件 circle2.in/ans。该样例满足测试点 343 \sim 4 的限制。

样例输入/输出 3

见下发文件 circle3.in/ans。该样例满足测试点 66 的限制。

数据范围与提示

本题共 1010 个测试点,每个测试点 1010 分。

测试点编号 特殊性质
121 \sim 2 n5n \le 5
343 \sim 4 n300n \le 300
55 ai=109a _ i = 10 ^ 9
66 ai109104a _ i \ge 10 ^ 9 - 10 ^ 4
77 ai1a _ i \le 1
88 ai2a _ i \le 2
9109 \sim 10 无特殊限制

对于所有数据,1n50001 \le n \le 50000ai1090 \le a _ i \le 10 ^ 9