Bức tường Vova (bản 1)
Đề bài
Mô tả
Một bức tường gồm cột xếp cạnh nhau theo hàng ngang. Cột thứ hiện có độ cao .
Bạn có vô hạn viên gạch kích thước và được đặt chúng theo hai cách:
- Nằm ngang: nếu hai cột kề nhau và đang có cùng độ cao, bạn được đặt một viên gạch phủ lên cả hai cột đó, làm độ cao của cả hai tăng thêm .
- Dựng đứng: chọn một cột bất kỳ và làm độ cao của nó tăng thêm .
Không được đặt gạch nằm ngang thò ra ngoài bức tường, tức là sang bên trái cột hoặc sang bên phải cột .
Bức tường được xem là hoàn thiện khi mọi cột có cùng độ cao và bên trong tường không còn khoảng trống nào.
Hãy xác định xem có thể làm bức tường trở nên hoàn thiện hay không, bằng cách sử dụng một số lượng gạch tùy ý (có thể là không viên nào).
Dữ liệu vào
- Dòng đầu chứa một số nguyên là số cột của bức tường.
- Dòng thứ hai chứa số nguyên là độ cao ban đầu của các cột.
Dữ liệu ra
In ra YES nếu có thể làm bức tường hoàn thiện, ngược lại in ra NO.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 4 5 3 |
YES | Đặt một viên dựng đứng lên cột được , rồi một viên nằm ngang lên cột được , cuối cùng một viên dựng đứng lên cột được . |
| 5 2 1 1 2 5 |
YES | Đặt một viên nằm ngang lên cột và được , rồi viên lên cột và viên lên cột để được . |
| 3 1 2 3 |
NO | Gạch dựng đứng không đổi tính chẵn lẻ của cột, còn gạch nằm ngang cần hai cột kề nhau cùng độ cao. Ở đây không ghép được cặp nào nên hai trong ba cột mãi mãi lệch tính chẵn lẻ với nhau. |
Bình luận