trang chủ / bài tập / vovawall

Bức tường Vova (bản 2)

Đề bài

Mô tả

Một bức tường gồm n cột xếp cạnh nhau theo hàng ngang. Cột thứ i hiện có độ cao ai.

Bạn có vô hạn viên gạch kích thước 2×1 và chỉ được đặt chúng nằm ngang. Cụ thể, nếu hai cột kề nhau ii+1 đ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 1.

Không được đặt gạch dựng đứng, và cũng không được đặt gạch thò ra ngoài bức tường (tức là sang bên trái cột 1 hoặc sang bên phải cột n).

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 n là số cột của bức tường.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an 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

  • 1n2·105
  • 1ai109

Ví dụ

Input Output Giải thích
2
10 10
YES Hai cột đã cao bằng nhau và không có khoảng trống, bức tường vốn đã hoàn thiện nên không cần đặt viên gạch nào.
3
4 5 3
NO Không tồn tại hai cột kề nhau cùng độ cao, nên không đặt được viên gạch nào, trong khi bức tường chưa bằng phẳng.
5
2 1 1 2 5
YES Đặt một viên lên cột 23 được [2,2,2,2,5], rồi đặt 3 viên lên cột 1,23 viên lên cột 3,4 để được [5,5,5,5,5].

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0