Thu nhỏ đống cỏ
Đề bài
Mô tả
Có đống cỏ xếp thành một hàng, đống thứ có chiều cao . Bạn có thể hoán đổi hai đống cỏ đứng liền kề nhau bao nhiêu lần tuỳ ý, với điều kiện chênh lệch chiều cao của hai đống đó không vượt quá .
Hãy tìm dãy chiều cao nhỏ nhất theo thứ tự từ điển có thể đạt được.
Dữ liệu vào
- Dòng đầu tiên chứa hai số nguyên và .
- dòng tiếp theo, dòng thứ chứa số nguyên .
Dữ liệu ra
In ra dòng, dòng thứ là chiều cao của đống cỏ thứ trong dãy tìm được.
Ràng buộc
Subtask 1 (10%):
Subtask 2 (20%):
Subtask 3 (70%): Không có ràng buộc thêm.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 3 7 7 3 6 2 |
6 7 7 2 3 |
Đống muốn lên đầu nhưng bị chặn bởi (chênh ). Đống vượt được (chênh ) nhưng bị chặn bởi (chênh ). Đống vượt được cả , và nên lên được vị trí đầu tiên. Kết quả tối ưu là . |
| 4 2 3 1 4 2 |
1 2 3 4 |
Đống vượt qua (chênh ) để lên đầu. Sau đó vượt qua (chênh ) rồi vượt tiếp (chênh ). Dãy kết quả là . |
Bình luận