#P0577. 又一道子序列问题(Yet Another Problem On a Subsequence)

又一道子序列问题(Yet Another Problem On a Subsequence)

题目描述

如果一个长度为 kk 的数组 aa 满足 a1=k1a_1=k-1a1>0a_1>0,那么称它为一个好数组。

如果一个序列能够被划分成若干个连续片段,并且每个片段都是好数组,那么称这个序列是好的。每个元素必须恰好属于一个片段,片段数量至少为 11

给定一个长度为 nn 的原序列,请计算它有多少个子序列是好的。两个子序列只要选择的下标集合不同,就认为它们不同。答案对 998244353998244353 取模。

输入格式

第一行一个整数 nn,表示原序列长度。

第二行 nn 个整数 a1,a2,,ana_1,a_2,\ldots,a_n

输出格式

输出一个整数,表示好的子序列数量对 998244353998244353 取模后的结果。

样例

3
2 1 1
2
4
1 1 1 1
7

说明

第一个样例中,好的子序列有 [a1,a2,a3][a_1,a_2,a_3][a2,a3][a_2,a_3]

第二个样例中,好的子序列共有 77 个:[a1,a2,a3,a4][a_1,a_2,a_3,a_4][a1,a2][a_1,a_2][a1,a3][a_1,a_3][a1,a4][a_1,a_4][a2,a3][a_2,a_3][a2,a4][a_2,a_4][a3,a4][a_3,a_4]

数据范围

1n1031\le n\le10^3109ai109-10^9\le a_i\le10^9