Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập leocauthangthung

Leo cầu thang thủng

Dễ Quy hoạch động

  • 100 Điểm
  • 1.0s Thời gian
  • 500M Bộ nhớ
  • 0% Tỉ lệ AC
  • 0 Số AC

Một trò chơi có một cầu thang gồm \(n\) bậc, đánh số \(1, 2, \dots, n\) từ dưới lên. Nhân vật đứng ở bậc \(1\) (bậc này luôn nguyên vẹn). Mỗi lượt, nhân vật có thể bước lên bậc kế tiếp (từ \(i\) lên \(i+1\)) hoặc nhảy qua một bậc (từ \(i\) lên \(i+2\)). Có \(k\) bậc bị hỏng, nhân vật không được đặt chân lên các bậc này (nhưng khi nhảy thì được phép bay qua bậc hỏng).

Hãy đếm số cách khác nhau để nhân vật đi từ bậc \(1\) đến bậc \(n\). Hai cách gọi là khác nhau nếu dãy các bậc mà nhân vật đặt chân lên khác nhau. In kết quả theo modulo \(25071987\).

Input

  • Dòng đầu chứa hai số nguyên \(n\) và \(k\).
  • Dòng thứ hai chứa \(k\) số nguyên là chỉ số các bậc bị hỏng, theo thứ tự tăng dần (dòng này có thể rỗng nếu \(k=0\)).

Output

  • In ra một số nguyên: số cách modulo \(25071987\).

Constraints

  • \(0 \le k < n \le 100000\)
  • Bậc \(1\) không bị hỏng.

Sample Input 1

7 2
4 6

Sample Output 1

2

Sample Input 2

6 3
3 4 5

Sample Output 2

0

Sample Input 3

1 0

Sample Output 3

1

Explanation

Ở ví dụ 1, hai cách là \(1 \to 2 \to 3 \to 5 \to 7\) và \(1 \to 3 \to 5 \to 7\). Ở ví dụ 2, ba bậc liên tiếp \(3,4,5\) bị hỏng nên không thể vượt qua. Ở ví dụ 3, nhân vật đã ở sẵn bậc \(n\) nên có đúng một cách.

Bình luận

Chưa có bình luận nào.