LEGO


Submit solution

Points: 30
Time limit: 1.0s
Memory limit: 493M

Problem type

Tú là một cậu bé rất thích chơi LEGO.

Vào một ngày nọ, cậu ấy lắp ghép được \(n\) khối LEGO sắp xếp theo thứ tự từ trái sang phải. Khối LEGO thứ \(i\) tính từ bên trái có độ cao \(H_i\).

Một dãy LEGO hoàn hảo là dãy thỏa mãn độ cao của các khối LEGO là không giảm xét từ trái qua phải.

Để tạo ra một dãy LEGO hoàn hảo, Tú có thể chọn một số khối LEGO tùy ý (mỗi khối chỉ được chọn tối đa một lần, có thể không chọn khối nào) và giảm độ cao của những khối đó đi đúng 1 đơn vị.

Yêu cầu: Hãy cho biết Tú có thể tạo ra một dãy LEGO hoàn hảo hay không.

Dữ liệu vào từ file văn bản LEGO.INP có khuôn dạng sau:

  • Dòng đầu tiên chứa một số nguyên dương duy nhất là số \(n (1≤n≤10^5 ).\)

  • Dòng tiếp theo chứa \(n\) số nguyên dương \(H_1,H_2,…,H_n (1≤H_i≤10^9 ).\)

Kết quả ghi ra file văn bản DONUS.OUT có cấu trúc:

  • In ra \(Yes\) nếu Tú có thể tạo ra một dãy LEGO hoàn hảo. Ngược lại in ra \(No\).

Ràng buộc:

  • Subtask 1 (60% số điểm): \(1≤n≤20.\)

  • Subtask 2 (40% số điểm): Không có ràng buộc gì thêm.

Sample Input

5
1 2 1 1 2

Sample Output

Yes

Sample Input

4
1 3 2 1

Sample Output

No

Giải thích:

  • Ở test mẫu thứ nhất, Tú có thể chọn khối LEGO thứ 2 và giảm đi 1 đơn vị. Khi đó dãy sẽ trở thành [1,1,1,1,2] là một dãy không giảm.

  • Ở test mẫu thứ hai, không có cách nào để Tú có thể tạo được một dãy LEGO hoàn hảo.


Comments

There are no comments at the moment.