A5055 | 取石子(双端版)
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
太郎和二郎将进行以下博弈。
最初,他们面前有 $N$ 堆石子排成一排,每堆石子有 $a_i$ 个 。在取完所有石子之前,两位选手从太郎开始交替执行以下操作:
最初,他们面前有 $N$ 堆石子排成一排,每堆石子有 $a_i$ 个 。在取完所有石子之前,两位选手从太郎开始交替执行以下操作:
- 取走开头或结尾的一堆石子。选手获得 $x$ 分,其中 $x$ 是被移除的石子的个数。
- 所有输入值均为整数。
- $1 \leq N \leq 3000$
- $1 \leq a_i \leq 10^9$
假设 $X$ 和 $Y$ 分别是太郎和二郎在游戏结束时的总得分。太郎试图最大化 $X - Y$ ,而二郎试图最小化 $X - Y$ 。
假设两位选手的选法都是最优的,请求出 $X - Y$ 的结果值。
限制因素
输入格式
输入内容由标准输入法提供,格式如下:
$N$
$a_1$ $a_2$ $\ldots$ $a_N$
$N$
$a_1$ $a_2$ $\ldots$ $a_N$
输出格式
打印 $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
暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?