loj#P3468. 「JOI 2021 Final」有趣的家庭菜园 4

「JOI 2021 Final」有趣的家庭菜园 4

問題文

家庭菜園が趣味のビ太郎は自宅の庭でビバ草という植物を育てている. 庭には NN 株のビバ草が東西方向に一列に植えられており,西側から順に 11 から NN までの番号が付いている. 現在,ビバ草 ii (1iN1 \leq i \leq N) の背丈は AiA_i である.

育てているビバ草は特別な品種改良の結果,水を与えるたびに背丈が 11 伸びる. ビ太郎は庭の見栄えを良 くするために水やりを複数回行い,以下の条件を満たすようにしたいと考えている.

  • すべての水やりを行った後のビバ草 ii (1iN1 \leq i \leq N) の背丈を BiB_i とする.このとき,「1jk11 \leq j \leq k − 1 に対し Bj<Bj+1B_j < B_{j+1}」かつ「kjN1k \leq j \leq N − 1 に対し Bj>Bj+1B_j > B_{j+1}」を満たすような整数 kk (1kN1 \leq k \leq N) が存在する.

ただし,ビ太郎は不器用なため,11 回の水やりにおいて,ある区間上のビバ草に一斉に水を与えることし かできない. すなわち,水やりを行うたびにある整数 LL, RR (1LRN1 \leq L \leq R \leq N) を選び,ビバ草 L,L+1,,RL, L + 1, \ldots , R に水を与える.

ビ太郎は水やりの回数をできるだけ少なくしたい.

ビバ草の数と現在の背丈の情報が与えられたとき,条件を満たすのに必要な水やりの回数の最小値を求め るプログラムを作成せよ.

入力

入力は以下の形式で標準入力から与えられる.入力される値はすべて整数である.

NN
A1ANA_1 \ldots A_N

出力

必要な水やりの回数の最小値を,標準出力に 11 行で出力せよ.

5
3 2 2 3 1
3
5
9 7 5 3 1
0
2
2021 2021
1
8
12 2 34 85 4 91 29 85
93

制約

  • 2N2×1052 \leq N \leq 2 \times 10^5
  • 1Ai1091 \leq A_i \leq 10^9 (1iN1 \leq i \leq N).

小課題

  1. (4040 点) N2000N \leq 2000
  2. (6060 点) 追加の制約はない.