[Beginner Free Contest 54] ROCK
Xem dạng PDFMột ngày nọ, các công nhân xây dựng đang làm việc hăng say thì xuất hiện ~N~ tảng đá xếp dọc trên đường. Tảng đá thứ ~i~ có trọng lượng ~a_i~. Họ được cho thêm một số ~k~ là ước của ~n~ (~n~ chia hết cho ~k~).
Chủ thầu nhân cơ hội này đã đố các công nhân của mình (ai giải được sẽ được tăng gấp đôi lương): hãy sắp xếp lại các tảng đá thành một dãy ~A_1, A_2, \ldots, A_n~ (một hoán vị của các tảng đá) sao cho biểu thức dưới đây đạt giá trị nhỏ nhất:
$$\sum_{i=1}^{n-k} |A_i - A_{i+k}|$$
Bạn hãy giúp các công nhân giải bài toán hóc búa này bằng cách in ra giá trị nhỏ nhất tìm được nhé.
Dữ liệu
Dòng thứ nhất chứa hai số nguyên dương ~n, k~ (~1 \le k \le n \le 10^5~, ~n~ chia hết cho ~k~).
Dòng thứ hai gồm ~n~ số nguyên ~a_1, a_2, \ldots, a_n~ ~(1 \le a_i \le 10^9)~ — trọng lượng các tảng đá.
Kết quả
In ra kết quả là giá trị nhỏ nhất tìm được.
Ví dụ
Sample Input
6 3
5 2 7 1 10 3
Sample Output
6
Giải thích
- Ta có thể sắp xếp dãy trên thành ~[10, 1, 3, 7, 2, 5]~
Chấm điểm
Subtask 1 (50% số test): ~n, k \le 10^3~.
Subtask 2 (50% số test): Giới hạn như đề bài.
Bình luận