有一台切割棍子的機器,每次將一段棍子會送入此台機器時,機器會偵測棍子上標示的可切割點,然後計算出最接近中點的切割點,並於此切割點將棍子切割成兩段,切割後的每一段棍子都會被繼續送入機器進行切割,直到每一段棍子都沒有切割點為止。請注意,如果最接近中點的切割點有二,則會選擇座標較小的切割點。每一段棍子的切割成本是該段棍子的長度,輸入一根長度 L 的棍子上面 N 個切割點位置的座標,請計算出切割總成本。
Time limit: 1 秒
第一行有兩個正整數 N 與 L。第二行有 N 個正整數,依序代表由小到大的 切割點座標 p[1]~p[N],數字間以空白隔開,座標的標示的方式是以棍子左端為 0, 而右端為 L。N <= 5e4,L < 1e9。
切割總成本點。
4 10 1 2 4 6
22
範例說明:第一次會切割在座標 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
ID | User | Problem | Subject | Hit | Post Date |
沒有發現任何「解題報告」 |