atcoder#ARC092C. [ARC092E] Both Sides Merger

[ARC092E] Both Sides Merger

配点 : 700700

問題文

あなたは,長さ NN の数列 a1,a2,...,aNa_1, a_2, ..., a_N を持っています。

あなたは,この数列の長さが 11 になるまで,繰り返し以下の操作を行います。

  • まず,数列の要素を 11 つ選ぶ。
  • もしその要素が数列の端だった場合,その要素を削除する。
  • もしその要素が数列の端でない場合,その要素を,選んだ要素の両隣の要素の和に書き換える。そしてその後,両隣の要素を削除する。

あなたは,最終的な数列の要素の値を最大化したいです。

最終的な数列の要素の値の最大値と,それを達成する手順を求めてください。

制約

  • 入力は全て整数
  • 2N10002 \leq N \leq 1000
  • ai109|a_i| \leq 10^9

入力

入力は以下の形式で標準入力から与えられる。

NN

a1a_1 a2a_2 ...... aNa_N

出力

  • 11 行目には,最終的な数列の要素の値の最大値を出力せよ。
  • 22 行目には,操作の回数を出力せよ。
  • 2+i2+i 行目には,ii 回目の操作で選ぶ要素が,その時点の数列で左から何番目かを出力せよ。
  • 最大値を達成する手順が複数存在する場合,そのうちどれを出力しても良い。
5
1 4 3 7 5
11
3
1
4
2

数列は以下のように変化します。

  • 11 回目の操作後の数列 : 4,3,7,54, 3, 7, 5
  • 22 回目の操作後の数列 : 4,3,74, 3, 7
  • 33 回目の操作後の数列 : 11(4+7)11(4+7)
4
100 100 -1 100
200
2
3
1
  • 11 回目の操作後の数列 : 100,200(100+100)100, 200(100+100)
  • 22 回目の操作後の数列 : 200200
6
-1 -2 -3 1 2 3
4
3
2
1
2
  • 11 回目の操作後の数列 : 4,1,2,3-4, 1, 2, 3
  • 22 回目の操作後の数列 : 1,2,31, 2, 3
  • 33 回目の操作後の数列 : 44
9
1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000
5000000000
4
2
2
2
2