#joi2021hoa. [joi2021ho_a]とてもたのしい家庭菜園 (Growing Vegetables is Fun 4)
[joi2021ho_a]とてもたのしい家庭菜園 (Growing Vegetables is Fun 4)
家庭菜园
現在是秋天,家庭菜園對我來說是一個很有趣的嗜好。我在家裡的花園裡種植了一種叫做「活力草」的植物。花園裡有 株活力草,按照東西方向排列成一行,從西邊開始編號為 到 。現在,活力草 ()的高度是 。
由於這種活力草經過特殊的品種改良,每次給它們澆水時,它們的高度就會增長 單位。為了讓花園看起來更美觀,我想要進行多次澆水,並滿足以下條件:
- 對於澆水後的活力草 (),令其高度為 。這樣的整數 ()存在,滿足「對於 ,有 」和「對於 ,有 」。
然而,由於我的不靈巧,每次澆水只能給一段區間的活力草一起澆水。也就是說,每次澆水時,我可以選擇一個整數區間 (),並給活力草 澆水。
我希望盡可能少地進行澆水。
請根據給定的活力草數量和目前高度的信息,編寫一個程序來求出滿足條件所需的最少澆水次數。
輸入
輸入從標準輸入中以以下格式給出。所有的輸入均為整數。
輸出
請在標準輸出中打印出滿足條件所需的最少澆水次數,只輸出一行。
約束條件
- 。
- ()。
子問題
- (40 分)。
- (60 分)沒有額外的約束條件。
示例
輸入示例 1
5
3 2 2 3 1
輸出示例 1
3
通過進行 次澆水,可以滿足條件:
- 將 ,,給活力草 澆水。活力草的高度從西到東分別為 。
- 將 ,,給活力草 澆水。活力草的高度從西到東分別為 。
- 將 ,,給活力草 澆水。活力草的高度從西到東分別為 。
由於無法在 次或更少的澆水中滿足條件,所以最少澆水次數為 。
輸入示例 2
5
9 7 5 3 1
輸出示例 2
0
由於已經滿足了條件,所以最少澆水次數為 。
輸入示例 3
2
2021 2021
輸出示例 3
1
要滿足條件,可以進行 次澆水,選擇 ,,給活力草 澆水,或者選擇 ,,給活力草 澆水。
輸入示例 4
8
12 2 34 85 4 91 29 85
輸出示例 4
93