A54980.取石子(双端版)
普及/提高-
官方
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
太郎和二郎将进行以下博弈。
最初,他们面前有 N 堆石子排成一排,每堆石子有 ai 个 。在取完所有石子之前,两位选手从太郎开始交替执行以下操作:
- 取走开头或结尾的一堆石子。选手获得 x 分,其中 x 是被移除的石子的个数。
假设 X 和 Y 分别是太郎和二郎在游戏结束时的总得分。太郎试图最大化 X−Y ,而二郎试图最小化 X−Y 。
假设两位选手的选法都是最优的,请求出 X−Y 的结果值。
限制因素
- 所有输入值均为整数。
- 1≤N≤3000
- 1≤ai≤109
输入格式
输入内容由标准输入法提供,格式如下:
N
a1 a2 … aN
输出格式
打印 X−Y 的结果值,假定两位选手以最佳方式取石子。
输入输出样例
输入#1
4 10 80 90 30
输出#1
10
输入#2
3 10 100 10
输出#2
-80
输入#3
1 10
输出#3
10
输入#4
10 1000000000 1 1000000000 1 1000000000 1 1000000000 1 1000000000 1
输出#4
4999999995
输入#5
6 4 2 9 7 1 5
输出#5
2