#27119: __安安


ryansung0910@gmail.com (不喝的可口可樂 -- 擺飾可樂)

學校 : 不指定學校
編號 : 137869
來源 : [101.10.7.200]
最後登入時間 :
2025-07-22 14:21:34

推一個寫法

首先一個 pair<int, int> arr[200010]

arr[i].first=切割位置, .second=切割順序

很重要不要改

 

將 arr 排序

就可得知

在 arr[i] 左邊的, 只要順序較早,就是他的左「邊」

在右邊的, 只要順序較早, 就是他的又「邊」

最後: sum+=(r-l);

 

搞定