AT_dp_l Deque

题目描述

太郎君和次郎君进行如下游戏。 最初,给定一个数列 $a = (a_1, a_2, \ldots, a_N)$。两人轮流进行如下操作,直到 $a$ 变为空。太郎君先手。 - 可以移除 $a$ 的首元素或末元素。设移除的元素为 $x$,则执行操作的人获得 $x$ 分。 游戏结束时,太郎君的总得分为 $X$,次郎君的总得分为 $Y$。太郎君希望最大化 $X - Y$,次郎君则希望最小化 $X - Y$。 假设两人都采取最优策略,求 $X - Y$ 的值。

输入格式

输入以如下格式从标准输入读入。 > $N$ $a_1$ $a_2$ $\ldots$ $a_N$

输出格式

假设两人都采取最优策略,输出 $X - Y$ 的值。

说明/提示

## 限制条件 - 输入均为整数。 - $1 \leq N \leq 3000$ - $1 \leq a_i \leq 10^9$ ## 样例解释 1 两人采取最优策略时,操作过程如下。被操作的元素用粗体表示。 - 先手:(10, 80, 90, **30**)→(10, 80, 90) - 后手:(10, 80, **90**)→(10, 80) - 先手:(10, **80**)→(10) - 后手:(**10**)→() 此时,$X = 30 + 80 = 110$,$Y = 90 + 10 = 100$。 ## 样例解释 2 两人采取最优策略时,操作过程例如如下。 - 先手:(**10**, 100, 10)→(100, 10) - 后手:(**100**, 10)→(10) - 先手:(**10**)→() 此时,$X = 10 + 10 = 20$,$Y = 100$。 ## 样例解释 4 答案可能超出 32 位整数范围。 ## 样例解释 5 两人采取最优策略时,操作过程例如如下。 - 先手:(4, 2, 9, 7, 1, **5**)→(4, 2, 9, 7, 1) - 后手:(**4**, 2, 9, 7, 1)→(2, 9, 7, 1) - 先手:(2, 9, 7, **1**)→(2, 9, 7) - 后手:(2, 9, **7**)→(2, 9) - 先手:(2, **9**)→(2) - 后手:(**2**)→() 此时,$X = 5 + 1 + 9 = 15$,$Y = 4 + 7 + 2 = 13$。 由 ChatGPT 4.1 翻译