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

Petya và Cầu Thang

Đề bài

Mô tả

Petya rất thích cầu thang, nhưng anh ấy chán việc đi lên xuống bình thường — anh ấy thích nhảy qua nhiều bậc một lúc. Khi đang đứng trên một bậc nào đó, Petya có thể nhảy sang bậc kế tiếp, nhảy qua một bậc, hoặc nhảy qua hai bậc. Nói cách khác, từ bậc i anh có thể di chuyển đến bậc i+1, i+2 hoặc i+3. Tuy nhiên một số bậc thang quá bẩn và Petya không muốn dẫm lên chúng.

Hiện tại Petya đang ở bậc thứ 1 của cầu thang gồm n bậc. Cho biết danh sách các bậc bẩn, hãy xác định xem Petya có thể đi từ bậc 1 đến bậc n mà không dẫm lên bất kỳ bậc bẩn nào hay không. Lưu ý rằng Petya bắt buộc phải đứng trên bậc 1 và bậc n, nên nếu một trong hai bậc đó bẩn thì câu trả lời là "NO".

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nm — số bậc thang và số bậc bẩn.
  • Dòng thứ hai chứa m số nguyên phân biệt d1,d2,,dm — chỉ số của các bậc bẩn (theo thứ tự bất kỳ). Nếu m=0, dòng này có thể trống.

Dữ liệu ra

In ra "YES" nếu Petya có thể đến bậc n chỉ bước trên các bậc sạch, ngược lại in "NO".

Ràng buộc

  • 1n109
  • 0m3000
  • 1din

Ví dụ

Input Output Giải thích
10 5
2 4 5 7 9
YES Một đường đi hợp lệ là 136810.
10 5
2 4 8 3 6
NO Các bậc bẩn {2,3,4} tạo thành ba bậc liên tiếp, không thể nhảy qua.

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