缺水的竊盜集團

發布時間: Oct. 13, 2022, 6:57 p.m.   最後更新時間: Oct. 13, 2022, 7:02 p.m.   時間限制: 500ms   記憶體限制: 128M

還沒寫過神偷大盜的可以先去試試看或至少看一下故事再來寫這題喔


親愛的委託者,在我回到我們的據點時發現了一個嚴重的問題,由於竊盜集團不斷的壯大,據點內所需的用水量也迅速增長,如果不好好分配很快就會有缺水的危機,好在最近才剛剛下過雨,補充了我們據點的簡陋水庫,但我只有水庫不同位置的牆壁高度,所以我需要你幫我求水庫總共有多少水


這個水庫很簡陋,寬度只有一公尺,接著我會給你水庫長度$n, n \leq 10^6$和各點的牆壁高$a_i, a_i \leq 10^3$,請你算出我的水庫可以存多少水

例如我告訴你水庫長度為$12$,各點的牆壁高為$0$ $1$ $0$ $2$ $1$ $0$ $1$ $3$ $2$ $1$ $2$ $1$,則水庫如下圖所示(黑色為牆壁,藍色是可儲存水的位置,邊界沒有牆)


由圖可知此水庫共可存$6$格水

希望你可以盡快算出來,加油吧委託者


from 軟研社副社長

給你一整數$n, n \leq 10^6$表示水庫長度
接著給你$n$個數表示各點的牆壁高$a_i, a_i \leq 10^3$

請輸出這個水庫可以存多少水

複製範例
12
0 1 0 2 1 0 1 3 2 1 2 1
6
複製範例
6
4 2 0 3 2 5
9

親愛的委託者,希望你順利的算出來了,但告訴你一個壞消息,由於水庫過於簡陋,我決定把它改建一下,到時候可能又要你幫我算儲水量了喔,我會在下一題等你的

from 軟研社副社長

dp stack two pointer

Leet code