题库练习 Yet Another Problem On a Subsequence
← 上一题 下一题 →

A11962 | Yet Another Problem On a Subsequence

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

The sequence of integers $a_1, a_2, \dots, a_k$ is called a good array if $a_1 = k - 1$ and $a_1 > 0$ . For example, the sequences $[3, -1, 44, 0], [1, -99]$ are good arrays, and the sequences $[3, 7, 8], [2, 5, 4, 1], [0]$ — are not.

A sequence of integers is called good if it can be divided into a positive number of good arrays. Each good array should be a subsegment of sequence and each element of the sequence should belong to exactly one array. For example, the sequences $[2, -3, 0, 1, 4]$ , $[1, 2, 3, -3, -9, 4]$ are good, and the sequences $[2, -3, 0, 1]$ , $[1, 2, 3, -3 -9, 4, 1]$ — are not.

For a given sequence of numbers, count the number of its subsequences that are good sequences, and print the number of such subsequences modulo 998244353.

输入格式

The first line contains the number $n~(1 \le n \le 10^3)$ — the length of the initial sequence. The following line contains $n$ integers $a_1, a_2, \dots, a_n~(-10^9 \le a_i \le 10^9)$ — the sequence itself.

输出格式

In the single line output one integer — the number of subsequences of the original sequence that are good sequences, taken modulo 998244353.

输入输出样例

输入 #1
3
2 1 1
输出 #1
2
输入 #2
4
1 1 1 1
输出 #2
7
C++ 编辑器
输入
输出