CSES - Array Description | Mô tả mảng

View as PDF



Authors:
Problem type
Points: 1400 (p) Time limit: 1.0s Memory limit: 512M Input: stdin Output: stdout

You know that an array has \(n\) integers between \(1\) and \(m\), and the absolute difference between two adjacent values is at most \(1\).

Given a description of the array where some values may be unknown, your task is to count the number of arrays that match the description.

Input

  • The first input line has two integers \(n\) and \(m\): the array size and the upper bound for each value.
  • The next line has \(n\) integers \(x_1,x_2,\ldots,x_n\): the contents of the array. Value \(0\) denotes an unknown value.

Output

  • Print one integer: the number of arrays modulo \(10^9+7\).

Constraints

  • \(1 \leq n \leq 10^5\)
  • \(1 \leq m \leq 100\)
  • \(0 \leq x_i \leq m\)

Example

Sample input

3 5  
2 0 2

Sample output

3

Note

The arrays \([2,1,2]\), \([2,2,2]\) and \([2,3,2]\) match the description.


Comments (2)

Most recent
Loading comments...