d004: p_1_3 棍子中點切割
Tags : ch1
Accepted rate : 10人/12人 ( 83% ) [非即時]
評分方式:
Tolerant

最近更新 : 2022-02-23 11:35

Content

有一台切割棍子的機器,每次將一段棍子會送入此台機器時,機器會偵測棍子上標示 的可切割點,然後計算出最接近中點的切割點,並於此切割點將棍子切割成兩段,切割後的每一段棍子都會被繼續送入機器進行切割,直到每一段棍子都沒有切割點為止。

請注意,如果最接近中點的切割點有二,則會選擇座標較小的切割點。每一段棍子的切割成本是該段棍子的長度,輸入一根長度 $L$ 的棍子上面 $N$ 個切割點位置的座標,請計算出切割總成本。

Input

第一行有兩個正整數 $N$ 與 $L$。第二行有 $N$ 個正整數,依序代表由小到大的 切割點座標 $p[1] \sim p[N]$,數字間以空白隔開,座標的標示的方式是以棍子左端為 $0$, 而右端為 $L$。$N \leq 5 \times 10^4$,$L< 10^9$。

Output

 切割總成本點。

Sample Input #1
4 10
1 2 4 6
Sample Output #1
22
測資資訊:
記憶體限制: 256 MB
公開 測資點#0 (20%): 1.0s , <1M
公開 測資點#1 (20%): 1.0s , <1M
公開 測資點#2 (20%): 1.0s , <1M
公開 測資點#3 (20%): 1.0s , <1M
公開 測資點#4 (20%): 1.0s , <1M
Hint :

第一次會切割在座標 4 的位置,切成兩段 [0, 4], [4, 10],成本 10; [0, 4] 切成 [0, 2] 與 [2, 4],成本 4; [4, 10] 切成 [4, 6] 與 [6, 10],成本 6; [0, 2] 切成 [0, 1] 與 [1, 2];成本 2; 總成本 10+4+6+2 = 22

Tags:
ch1
出處:
Prof. Wu [管理者:
ktlai (K.我已霸榜.Tlai)
]


ID User Problem Subject Hit Post Date
沒有發現任何「解題報告」