[CSES 2087] Houses and Schools

Xem dạng PDF

Gửi bài giải


Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C++, Pascal, PyPy, Python

Có ~n~ ngôi nhà trên một con đường, được đánh số ~1,2,\dots,n~. Khoảng cách giữa hai ngôi nhà ~a~ và ~b~ là ~|a-b|~. Bạn biết số lượng trẻ em trong mỗi ngôi nhà.

Nhiệm vụ của bạn là thành lập ~k~ trường học sao cho mỗi trường học nằm tại một ngôi nhà nào đó. Sau đó, mỗi đứa trẻ sẽ đến trường học gần nhất. Tổng khoảng cách đi lại tối thiểu của các đứa trẻ nếu bạn hành động tối ưu là bao nhiêu?

Dữ liệu vào

Dòng đầu tiên chứa hai số nguyên ~n~ và ~k~: số lượng ngôi nhà và số lượng trường học. Các ngôi nhà được đánh số ~1,2\dots,n~.

Sau đó là ~n~ số nguyên ~c\_1,c\_2,\dots,c\_n~: số lượng trẻ em trong mỗi ngôi nhà.

Kết quả

In ra tổng khoảng cách tối thiểu.

Giới hạn

  • ~1 \le k \le n \le 3000~
  • ~1 \le c\_i \le 10^9~

Ví dụ

Dữ liệu vào:

6 2
2 7 1 4 6 4

Kết quả:

11

Giải thích: Các ngôi nhà 2 và 5 sẽ có trường học.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.