#P13536. [ARC092E] Both Sides Merger
[ARC092E] Both Sides Merger
题目描述
你有一个长度为 的数列 。
你需要不断重复以下操作,直到数列的长度变为 :
- 首先,从数列中选择一个元素。
- 如果该元素在数列的两端,则将其删除。
- 如果该元素不在数列的两端,则将其替换为其左右相邻元素之和,然后删除这两个相邻元素。
你希望最终数列中唯一剩下的元素的值最大。请输出最终数列元素的最大值,以及实现该最大值的操作步骤。
输入格式
输入通过标准输入给出,格式如下:
输出格式
- 第 行输出最终数列元素的最大值。
- 第 行输出操作的总次数。
- 接下来的每一行,第 行( 从 到操作次数),输出第 次操作时所选择的元素在当前数列中的位置(从左到右编号)。
如果存在多种实现最大值的操作方案,输出其中任意一种即可。
输入输出样例 #1
输入 #1
5
1 4 3 7 5
输出 #1
11
3
1
4
2
输入输出样例 #2
输入 #2
4
100 100 -1 100
输出 #2
200
2
3
1
输入输出样例 #3
输入 #3
6
-1 -2 -3 1 2 3
输出 #3
4
3
2
1
2
输入输出样例 #4
输入 #4
9
1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000
输出 #4
5000000000
4
2
2
2
2
说明/提示
限制
- 输入均为整数。
样例解释 1
数列变化如下:
- 第 次操作后数列:
- 第 次操作后数列:
- 第 次操作后数列:
样例解释 2
- 第 次操作后数列:
- 第 次操作后数列:
样例解释 3
- 第 次操作后数列:
- 第 次操作后数列:
- 第 次操作后数列: