#41752: C++詳解-Pair


toseanlin@gmail.com (Dr. SeanXD)

學校 : 康橋雙語學校
編號 : 158065
來源 : [24.147.249.5]
最後登入時間 :
2024-10-28 09:54:40
b231. TOI2009 第三題:書 -- 2009TOI研習營初選 | From: [24.147.249.5] | 發表日期 : 2024-08-23 19:35

使用 Pair<int, int> 來收資料,只是要將資料反過來存,印刷時間存在 second,裝訂時間則存在 first。收完資料之後要將 Pair 陣列進行排序,然後跑 For迴圈 從 N-1 到 0,要從「裝訂時間最大」的資料開始做處理。

設定兩個變數 ans 和 start,都預設為 0。每次進到 For迴圈 時,都要將 start += 目前資料的印刷時間,start 是指所有資料所需的印刷時間,因為印刷機只有一臺。然後要計算 start + 裝訂時間是多少,並且和目前的 ans 做最大值的比較,ans 就是每次的印刷總時間 + 現在的裝訂時間最大值。

 

範例程式碼

 
ZeroJudge Forum