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

Phiếu mua và ưu đãi

Đề bài

Mô tả

n ngày liên tiếp. Trong ngày thứ i cần mua đúng ai chiếc bánh, không được mua dư dù chỉ một chiếc.

Việc mua bánh chỉ được thực hiện thông qua hai loại ưu đãi sau, và có thể dùng mỗi loại với số lần tùy ý:

  • Ưu đãi giảm giá: mua hai chiếc bánh trong cùng một ngày.
  • Phiếu mua: mua một chiếc bánh trong mỗi ngày của hai ngày liên tiếp (tổng cộng hai chiếc, một chiếc ở ngày i và một chiếc ở ngày i+1).

Mọi chiếc bánh mua ra đều phải thuộc về đúng một ưu đãi giảm giá hoặc một phiếu mua. Ngoài ra, sau khi kết thúc ngày thứ n không được còn phiếu mua nào đang có hiệu lực (không có phiếu mua nào bắt đầu ở ngày n).

Hãy xác định xem có cách mua để mỗi ngày có đúng số bánh cần thiết hay không.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an.

Dữ liệu ra

In ra YES nếu tồn tại cách mua thỏa mãn, ngược lại in ra NO.

Ràng buộc

  • 1n200000
  • 0ai10000

Ví dụ

Input Output Giải thích
4
1 2 1 2
YES Dùng một phiếu cho ngày 1 và 2, một phiếu cho ngày 2 và 3, và một ưu đãi giảm giá cho ngày 4.
3
1 0 1
NO Ngày 2 cần 0 bánh nên không phiếu nào có thể phủ ngày 1 hay ngày 3 mà không mua dư; cũng không thể mua lẻ 1 bánh ở ngày 1.

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