CSES 2087 - Houses and Schools
1.0s 512M一條街上有 \(n\) 棟房子,編號為 \(1,2,\dots,n\)。房子 \(a\) 和房子 \(b\) 的距離是 \(|a-b|\)。你已經知道每棟房子裡有幾個小孩。
你的任務是設立 \(k\) 所學校,每所學校都要設在某一棟房子裡。接著每個小孩都會走到離他最近的學校。在最佳的設法下,所有小孩走的總距離最少是多少?
輸入格式
第一行有兩個整數 \(n\) 和 \(k\):房子的數量與學校的數量。房子編號為 \(1,2\dots,n\)。
接下來有 \(n\) 個整數 \(c_1,c_2,\dots,c_n\):每棟房子裡的小孩人數。
輸出格式
輸出最小的總距離。
範例輸入 1
6 2
2 7 1 4 6 4
範例輸出 1
11
說明:學校會設在第 2 棟和第 5 棟房子。
限制
- \(1 \le k \le n \le 3000\)
- \(1 \le c_i \le 10^9\)
題目來源
題目來自 CSES Problem Set(Antti Laaksonen),授權 CC BY-NC-SA 4.0;本頁為翻譯,以相同授權分享。
登入後即可撰寫程式並提交評測。
登入