P - Adjacent Reset 解説 /

実行時間制限: 2 sec / メモリ制限: 1024 MiB

配点 : 100

Universal Cup 参加者へ

この問題は Universal Cup に収録される際に削除されます。そのため、Universal Cup に AtCoder での結果を使用する場合はこの問題以外を先に解くことをおすすめします。

問題文

長さ N の正整数列 A = (A_1,A_2,\dots,A_N) が与えられます。 A に対して以下の操作を 0 回以上繰り返すことができます。

  • 整数 i \ (1 \le i \le N-1)1 つ選び、 A_i, A_{i+1} をどちらも 0 に置き換える。この操作にはコストが \max(A_i,A_{i+1}) かかる。

A の全ての要素を 0 にするために必要なコストの和の最小値を求めてください。

T 個のテストケースが与えられるので、それぞれについて答えを求めてください。

制約

  • 1 \le T \le 10^5
  • 2 \leq N \leq 2 \times 10^5
  • 1 \le A_i \le 10^9
  • 1 つの入力ファイルに含まれる N の総和は 2\times 10^5 以下
  • 入力は全て整数

入力

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

T
\mathrm{case}_1
\mathrm{case}_2
\vdots
\mathrm{case}_T

各テストケースは以下の形式で与えられる。

N
A_1 A_2 \cdots A_N

出力

T 行出力せよ。i 行目には i 番目のテストケースの答えを出力せよ。


入力例 1

4
4
2 6 7 3
2
1 1000000000
20
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
8
123 4567 8912 34 56789 12345 6789 1

出力例 1

12
1000000000
10
72647

1 つ目のテストケースについて、例えば以下のように 3 回の操作を行うことができます。

  • A=(2,6,7,3) に対して i = 2 として操作を行い、A=(2,0,0,3) となる。コストが 7 かかる。
  • A=(2,0,0,3) に対して i = 1 として操作を行い、A=(0,0,0,3) となる。コストが 2 かかる。
  • A=(0,0,0,3) に対して i = 3 として操作を行い、A=(0,0,0,0) となる。コストが 3 かかる。

かかったコストの和は 7+2+3=12 です。A=(0,0,0,0) とするためにかかるコストの和はこれより小さくできないため、12 が答えになります。