Xếp gạch
Đề bài
Mô tả
An rất thích trò chơi xếp gạch. Với những chồng gạch đang xếp dở dang, An suy nghĩ cách điều chỉnh lại các chồng gạch sao cho nó đối xứng. Một dãy chồng gạch được đánh số từ đến và chồng gạch thứ có chiều cao là , được gọi là đối xứng nếu với .
Tại mỗi bước điều chỉnh, hai chồng gạch liền kề có thể được thay thế bằng một chồng gạch mới có chiều cao là tổng chiều cao của hai chồng gạch đó (chồng mới nằm đúng vị trí của hai chồng cũ). Có thể thấy rằng sau mỗi bước điều chỉnh số lượng chồng gạch giảm đi . Một dãy chỉ gồm một chồng gạch cũng là dãy đối xứng.
Yêu cầu: Hãy viết một chương trình cho biết số bước điều chỉnh tối thiểu cần thực hiện để có được một dãy chồng gạch đối xứng.
Dữ liệu vào
- Dòng đầu là một số nguyên cho biết số lượng chồng gạch ban đầu.
- Dòng thứ hai chứa số nguyên lần lượt là chiều cao các chồng gạch ().
Dữ liệu ra
In ra một số nguyên cho biết số bước điều chỉnh tối thiểu cần thực hiện để có được một dãy chồng gạch đối xứng.
Ràng buộc
- .
- .
Subtasks
- Subtask 1 ( số điểm): .
- Subtask 2 ( số điểm): .
- Subtask 3 ( số điểm): .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 7 7 3 3 4 5 6 7 |
2 | . |
| 6 2 1 1 3 1 3 |
1 | Gộp hai chồng đầu: . |
| 2 4 6 |
1 | Gộp hai chồng thành một chồng cao , dãy một chồng là đối xứng. |
Bình luận