Trồng cây
Nộp bài giải
Điểm:
3,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
1G
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Java, Javascript, Kotlin, Pascal, Python, Scratch
Dọc theo một tuyến phố thẳng có vị trí kế tiếp nhau để trồng cây đánh số từ đến . Hiện tại chỉ có vị trí thứ () đã trồng một cây có độ cao là , còn các vị trí khác để trống. Theo dự kiến, người ta sẽ trồng cây có độ cao tại vị trí thứ ().
Tuy nhiên, để tăng vẻ đẹp cho hàng cây, người ta muốn tìm một phương án sắp xếp các cây cần trồng vào các vị trí thích hợp (trừ vị trí ) sao cho tổng tất cả các độ chênh lệch của hai cây trồng liền nhau là nhỏ nhất. Độ chênh lệch của hai cây được trồng tại hai vị trí liền nhau là giá trị tuyệt đối hiệu độ cao của hai cây.
Yêu cầu: Tìm giá trị nhỏ nhất của tổng tất cả các độ chênh lệch của hai cây trồng liền nhau.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên dương và , , .
- Dòng sau chứa số nguyên dương , , là độ cao của cây thứ theo dự kiến. Mỗi số đều không vượt quá .
Dữ liệu ra
- Ghi ra số tìm được.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 2 7 3 4 2 6 |
5 | Vị trí đã trồng cây cao . Sắp xếp các cây còn lại () vào các vị trí sao cho tổng chênh lệch liền kề nhỏ nhất. Một cách tối ưu: cho tổng . |
Bình luận