Nhà kính của Sprout
Nộp bài giải
Điểm:
8,00 (OI)
Giới hạn thời gian:
3.0s
Python 3
5.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Go, Java, Kotlin, Pascal, Python, Scratch
Giáo sư Pomona Sprout
đang chăm sóc khu vườn Thảo Dược Học tại Hogwarts. Dọc theo một lối đi dài trong khu vườn, có cây thảo dược quý hiếm được trồng tại các vị trí khác nhau trên một đường thẳng. Cây thứ nằm ở vị trí .
Để bảo vệ các cây khỏi thời tiết khắc nghiệt, giáo sư Sprout
cần đặt đúng nhà kính dọc theo lối đi. Mỗi nhà kính có thể được đặt tại bất kỳ vị trí số nguyên nào trên đường thẳng.
Mỗi cây sẽ được bảo vệ bởi nhà kính gần nó nhất. Tuy nhiên, hiệu quả bảo vệ giảm dần theo khoảng cách: chi phí bảo trì cho cây thứ bằng khoảng cách từ cây đó đến nhà kính gần nhất, tức là với là vị trí nhà kính gần nhất.
Giáo sư Sprout muốn đặt nhà kính sao cho tổng chi phí bảo trì của tất cả các cây là nhỏ nhất.
Dữ liệu vào
- Dòng đầu tiên chứa hai số nguyên và - số cây thảo dược và số nhà kính.
- Dòng thứ hai chứa số nguyên - vị trí của các cây trên đường thẳng.
Dữ liệu ra
- In ra một số nguyên duy nhất - tổng chi phí bảo trì nhỏ nhất có thể.
Ràng buộc
- Các vị trí không nhất thiết phải phân biệt.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 2 1 3 6 10 |
5 | Đặt nhà kính tại vị trí và . Cây ở vị trí có chi phí , vị trí chi phí , vị trí chi phí , vị trí chi phí . Tổng . |
| 6 3 2 5 8 12 15 20 |
9 | Đặt nhà kính tại vị trí , và . Chi phí: . |
Bình luận