[Buổi 5][Củng cố vòng lặp][ADV] Bài 2: Thay đổi đẹp mắt
Thay đổi đẹp mắt
Bối cảnh
Có \(N\) ô vuông được sắp xếp theo hàng ngang từ trái sang phải. Chiều cao của ô vuông thứ \(i\) tính từ trái sang phải là \(H_i\).
Yêu cầu
Đối với mỗi ô vuông, bạn sẽ thực hiện một trong các thao tác sau một lần:
- Giảm chiều cao của ô vuông đi \(1\).
- Không làm gì cả.
Xác định xem có thể thực hiện các thao tác sao cho chiều cao của các ô vuông không giảm dần từ trái sang phải hay không.
Input
N
H_1 H_2 ... H_N
Output
Nếu có thể thực hiện các thao tác sao cho chiều cao của các ô vuông không giảm dần từ trái sang phải, in ra "Yes"; ngược lại, in ra "No".
Ràng buộc
- Tất cả giá trị đầu vào là số nguyên.
- \(1 \leq N \leq 10^5\)
- \(1 \leq H_i \leq 10^9\)
Ví dụ 1
Input
5
1 2 1 1 3
Output
Yes
Giải thích ví dụ
Bạn có thể đạt được mục tiêu bằng cách giảm chiều cao của ô vuông thứ hai từ trái sang phải đi \(1\).
Ví dụ 2
Input
4
1 3 2 1
Output
No
Giải thích ví dụ
Ví dụ 1:
- Có thể giảm chiều cao của ô vuông thứ hai từ trái sang phải đi 1 đơn vị, để chiều cao không giảm dần từ trái sang phải.
Ví dụ 2:
- Không thể giảm chiều cao của các ô vuông để đảm bảo chiều cao không giảm dần từ trái sang phải.
Thông tin học tập
- Buổi: B05
- Concepts: loops, state-based greedy algorithms
- Giới hạn kiến thức: B01-B05
- Time limit: 1 second
- Memory limit: 20 MB
- Point: 20
Comments