時間回到了 2020 年上半,此時色雷斯資訊奧林匹亞(Thracian Olympiad in Informatics,簡稱 TOI)選訓營正在如火如荼的進行!為了選出全色雷斯最出色的高中程式設計師,他們正在進行第二次的模擬競賽。然而,因為某些不可預測的原因,上傳程式時竟然發現伺服器無法負荷而導致評測時間無限拉長的窘境!此時,這些參賽者透過系統收到這個訊息:
Ο κριτής βρίσκεται σε πλήρη ταχύτητα, περιμένετε υπομονετικά
翻譯成中文即「評測系統已火力全開,請耐心等候」。已知有 $N$ 份程式碼必須要跑,而第 $i$ 份程式碼需要跑 $t_i$ 毫秒。色雷斯的伺服器是有 $M$ 個核心所組成的電腦,一次可以跑一份程式碼。而且,所有的程式碼必須依序開始執行(允許因為需要跑的時間不同而導致後開始跑的程式碼比先開始跑的程式碼率先完成的情況)。而評測團隊需要找出一個最好的分配伺服器資源的方式使得最後一份程式碼跑完的時間是最短的。請寫一支程式幫助色雷斯的評測團隊吧!
輸入將有兩行,第一行包含兩個正整數 $N$ 和 $M$,分別代表有幾份程式碼要跑和伺服器有幾個核心。第二行有 $N(1 \leq N, M \leq 10^ 5)$ 個正整數,依序代表需要執行的第 $i$ 份程式碼所需要執行的時間 $t_i(1 \leq t_i \leq 10^ 9)$。
請輸出一個正整數,代表跑完所有程式的最少時間。
修改自 Zerojudge d053
No. | Testdata Range | Constraints | Score |
---|---|---|---|
1 | 0~1 | 範例測資 | 0 |
2 | 0~16 | 無額外限制 | 100 |