AT_arc092_c [ARC092E] Both Sides Merger

题目描述

你有一个长度为 $N$ 的数列 $a_1,\ a_2,\ ...,\ a_N$。 你需要不断重复以下操作,直到数列的长度变为 $1$: - 首先,从数列中选择一个元素。 - 如果该元素在数列的两端,则将其删除。 - 如果该元素不在数列的两端,则将其替换为其左右相邻元素之和,然后删除这两个相邻元素。 你希望最终数列中唯一剩下的元素的值最大。请输出最终数列元素的最大值,以及实现该最大值的操作步骤。

输入格式

输入通过标准输入给出,格式如下: > $N$ $a_1$ $a_2$ $...$ $a_N$

输出格式

- 第 $1$ 行输出最终数列元素的最大值。 - 第 $2$ 行输出操作的总次数。 - 接下来的每一行,第 $i$ 行($i$ 从 $1$ 到操作次数),输出第 $i$ 次操作时所选择的元素在当前数列中的位置(从左到右编号)。 如果存在多种实现最大值的操作方案,输出其中任意一种即可。

说明/提示

## 限制 - 输入均为整数。 - $2 \leq N \leq 1000$ - $|a_i| \leq 10^9$ ## 样例解释 1 数列变化如下: - 第 $1$ 次操作后数列:$4,\ 3,\ 7,\ 5$ - 第 $2$ 次操作后数列:$4,\ 3,\ 7$ - 第 $3$ 次操作后数列:$11\ (4+7)$ ## 样例解释 2 - 第 $1$ 次操作后数列:$100,\ 200\ (100+100)$ - 第 $2$ 次操作后数列:$200$ ## 样例解释 3 - 第 $1$ 次操作后数列:$-4,\ 1,\ 2,\ 3$ - 第 $2$ 次操作后数列:$1,\ 2,\ 3$ - 第 $3$ 次操作后数列:$4$ 由 ChatGPT 4.1 翻译