200922: [AtCoder]ARC092 E - Both Sides Merger

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Score : $700$ points

Problem Statement

You have an integer sequence of length $N$: $a_1, a_2, ..., a_N$.

You repeatedly perform the following operation until the length of the sequence becomes $1$:

  • First, choose an element of the sequence.
  • If that element is at either end of the sequence, delete the element.
  • If that element is not at either end of the sequence, replace the element with the sum of the two elements that are adjacent to it. Then, delete those two elements.

You would like to maximize the final element that remains in the sequence.

Find the maximum possible value of the final element, and the way to achieve it.

Constraints

  • All input values are integers.
  • $2 \leq N \leq 1000$
  • $|a_i| \leq 10^9$

Input

Input is given from Standard Input in the following format:

$N$
$a_1$ $a_2$ $...$ $a_N$

Output

  • In the first line, print the maximum possible value of the final element in the sequence.
  • In the second line, print the number of operations that you perform.
  • In the $(2+i)$-th line, if the element chosen in the $i$-th operation is the $x$-th element from the left in the sequence at that moment, print $x$.
  • If there are multiple ways to achieve the maximum value of the final element, any of them may be printed.

Sample Input 1

5
1 4 3 7 5

Sample Output 1

11
3
1
4
2

The sequence would change as follows:

  • After the first operation: $4, 3, 7, 5$
  • After the second operation: $4, 3, 7$
  • After the third operation: $11(4+7)$

Sample Input 2

4
100 100 -1 100

Sample Output 2

200
2
3
1
  • After the first operation: $100, 200(100+100)$
  • After the second operation: $200$

Sample Input 3

6
-1 -2 -3 1 2 3

Sample Output 3

4
3
2
1
2
  • After the first operation: $-4, 1, 2, 3$
  • After the second operation: $1, 2, 3$
  • After the third operation: $4$

Sample Input 4

9
1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000

Sample Output 4

5000000000
4
2
2
2
2

Input

题意翻译

给你一个长度为 n (2≤n≤1000) 的序列 a |ai|<=1e9 。可以选择以下操作: 1.选择一个端点的数,删除 2.选择一个非端点的数,将其变为相邻左右两数之和,删去左右两边的数。 若干次操作后序列只剩下一个数,要求结果尽可能大。求每次选数方案。

加入题单

算法标签: