#YDRG004E. 在空无一物的时光深处

在空无一物的时光深处

标题来自 心を刺す言葉だけ (feat. 初音ミク & 可不)

题目描述

nn 种颜料和一个长度为 mm 的画板,颜色分别为 1,2,,n1,2,\cdots,n。第 ii 个颜料有 cic_i 桶。

现在你可以用一个笔刷在这个画板上画 nn 段,具体来说,你可以选择任意一个 1pm1\le p\le m 作为你一开始的位置,接下来依次对每个 i=1,2,,ni=1,2,\cdots,n,你可以将笔刷从当前位置 pp 向左或向右移动 cic_i 格,即移动到 q=pci+1q=p-c_i+1q=p+ci1q=p+c_i-1 处,并将 p,qp,q 之间的位置(包括 p,qp,q)都染成第 ii 种颜色。

这里要求新的位置 qq 不能超出画板的边界,即 1qm1\le q\le m

如果一个位置被染色多次,我们认为这个位置的颜色是它最后一次染上的颜色;如果一个位置没有被染色,我们认为这个位置的颜色为 00。现在你需要求出染色完成后可以得到多少种不同的画板,答案对 998244353998244353 取模。

这里两个最终画板是不同的,当且仅当存在至少一个位置 ii 满足这两个画板在第 ii 个位置上的颜色不同。

输入格式

第一行两个正整数 n,mn,m

第二行 nn 个正整数 c1,c2,,cnc_1,c_2,\cdots,c_n

输出格式

输出一行一个正整数表示答案。

样例 11 输入

4 4
2 3 1 2

样例 11 输出

8

样例 11 解释

共有 88 种可能的序列:

0 2 4 4
0 4 4 2
1 2 4 4
2 2 4 4
2 4 4 0
4 4 2 0
4 4 2 1
4 4 2 2

样例 22 输入

5 6
2 3 2 2 3

样例 22 输出

36

样例 33 输入

6 8
2 4 3 5 2 1

样例 33 输出

42

样例 44 输入

12 21
8 2 6 9 9 9 10 8 2 6 5 9

样例 44 输出

760

测试点约束

对于 100%100\% 的数据,2n,m150,1cim2\le n,m\le 150,1\le c_i\le m

子任务编号 nn mm 分值 依赖子任务
Subtask #1 10\le 10 20\le 20 1313
Subtask #2 150\le 150 3\le 3 1212
Subtask #3 30\le 30 2020 11
Subtask #4 60\le 60 1515 33
Subtask #5 100\le 100 2020 44
Subtask #6 150\le 150 2,52,5