#P16346. [2026年山东第二轮集训]数数题

[2026年山东第二轮集训]数数题

题目描述

给定长度为 nn 的整数序列

a1,a2,,an.a_1,a_2,\ldots,a_n.

你可以进行任意次(也可以是 00 次)以下操作:

  1. 选择一个区间 [l,r][l,r]
  2. 计算
v=maxi=lrai;v=\max_{i=l}^{r}a_i;
  1. 对所有 i[l,r]i\in[l,r],令
aiv.a_i\leftarrow v.

设经过若干次操作后最终得到整数序列 bb。求一共有多少种不同的序列 bb,答案对 998244353998244353 取模。

输入格式

第一行一个整数 nn

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

输出格式

输出一行一个整数,表示可能得到的不同序列 bb 的数量对 998244353998244353 取模后的结果。

样例

样例 1

输入

4
1 3 4 2

输出

10

数据范围

1n5000,1ain.1\le n\le 5000,\qquad 1\le a_i\le n.

子任务

子任务编号 nn\le 特殊性质 分值
1 55 10
2 50005000 AB
3 B
4 100100 A
5
6 500500 A
7
8 50005000 A
9 20

特殊性质:

  • A: aa 是一个排列;
  • B: aa 单调不降。