问题2551--Prefix Mex 序列

2551: Prefix Mex 序列

[命题人 : ]
时间限制 : 2 sec  内存限制 : 512 MB

提交

题目描述

对于一个由有限个非负整数组成的数列 X,我们定义 mex(X) 为数列中不包含的最小非负整数。例如,mex((0,0,1,3))=2,mex((1))=0,mex(())=0。

给定一个长度为 N 的数列 S=(S1,…,SN),其中每个元素均为 0 或 1。

要求计算满足以下条件的长度为 N 的数列 A=(A1,A2,…,AN)的数量,并对结果取模 998244353。

0≤Ai≤M。

对于所有 i(1≤i≤N),如果 Si=1,则 Ai=mex((A1,A2,…,Ai−1));如果 Si=0,则 Ai≠mex((A1,A2,…,Ai−1))。

输入

第一行输入N和M。( 1 ≤ N ≤ 5000,0≤ M≤ 109
然后输入 N 个 Si 。
S只能是 0 或 1。
所有输入数值均为整数。

输出

需要输出的是满足条件的数列数量对 9982444353 取模的结果。

样例输入 Copy

4 2
1 0 0 1

样例输出 Copy

4

提示

样例解释 #1

满足条件的数列有以下 4 个:

  • (0,0,0,1)

  • (0,0,2,1)

  • (0,2,0,1)

  • (0,2,2,1)

来源/分类