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

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

Đề 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à được đặt chúng theo hai cách:

  • Nằm ngang: 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.
  • Dựng đứng: chọn một cột bất kỳ và làm độ cao của nó tăng thêm 2.

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 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
3
4 5 3
YES Đặt một viên dựng đứng lên cột 3 được [4,5,5], rồi một viên nằm ngang lên cột 2,3 được [4,6,6], cuối cùng một viên dựng đứng lên cột 1 được [6,6,6].
5
2 1 1 2 5
YES Đặt một viên nằm ngang lên cột 23 được [2,2,2,2,5], rồi 3 viên lên cột 1,23 viên lên cột 3,4 để được [5,5,5,5,5].
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

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.400 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0