N - 背の順 解説 /

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

配点 : 600

問題文

N 人のパ研部員が左右一列に並んでいます。左から i 番目のパ研部員の身長は A_i です。

あなたの仕事は、以下の操作を 0 回以上繰り返してパ研部員たちが背の順で並んでいる、即ち任意の i\ (1\leq i\leq (列にいる部員の数)-1) に対して (左から i 番目にいる部員の身長)<(左から i+1 番目にいる部員の身長) が成り立つようにすることです。

  • 今列にいるパ研部員の数を M として、整数 l,\ r\ (1\leq l\leq r\leq M) を選ぶ。選んだ時点で左から l 番目にいる部員の身長を Lr 番目にいる部員の身長を R としたとき、コスト L+R を払って 左から l,\ l+1,\ldots,\ r 番目のパ研部員を列から取り除く。

あなたは仕事を達成するために、最小で合計いくらのコストを払う必要がありますか?

列に誰もいない状態も背の順で並んでいると見なし、また、操作を繰り返す間部員の身長は変化しません。


制約

  • 入力は全て整数である。
  • 1\leq N\leq2×10^5
  • 1\leq A_i\leq N
  • A_i≠A_j\ (i≠j)

入力

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

\(N\)
\(A_1\) \(A_2\) \(\ldots\) \(A_N\)

出力

払うコストの総和の最小値を出力してください。 出力の最後に改行を忘れないでください。

入力例1

4
3 4 1 2

出力例1

3

l=3,\ r=4 として 1 度だけ操作を行うのが最善です。

入力例2

6
1 2 3 4 5 6

出力例2

0

1 度も操作をしないのが最善です。

入力例3

7
1 5 4 7 2 3 6

出力例3

3