#CJM09D. [J模9] 计数(count)

[J模9] 计数(count)

题目描述

小 C 有一个元素两两不同的长度为 nn 的序列 AA。

小 C 可以做若干次以下操作(可以不做):

  • 选择 1≤l≤r≤∣A∣1\le l\le r\le |A|(∣A∣|A| 表示当前序列 AA 的元素个数),设 x=min⁡i=lrAix=\min_{i=l}^r A_i,删除区间 [l,r][l,r] 中除最小值 xx 的其他所有元素,然后将序列 AA 中剩下的元素从左到右依次连接形成新的序列 A′A^{'},最后 A←A′A\leftarrow A^{'}。

小 C 想要知道对序列 AA 进行若干次操作后能够形成多少种不同的序列?由于答案可能很大,你只需要告诉小 C 答案对 998244353998244353 取模后的值。

输入格式

输入的第一行包含一个整数 nn。

接下来一行包含 nn 个整数,第 ii 个整数表示 AiA_i。

输出格式

共一行,输出一个整数。

2
2 1
2
4
2 4 1 3
6

数据范围

样例 1 解释

最后可能形成的序列如下:

[2,1][2,1],[2][2]。

  • 对于 20%20\% 的数据,保证 n≤5n\le 5。
  • 对于 40%40\% 的数据,保证 n≤16n\le 16。
  • 对于 60%60\% 的数据,保证 n≤500n\le 500。
  • 对于 80%80\% 的数据,保证 n≤5000n\le 5000。
  • 对于 100%100\% 的数据,保证 1≤n≤3×1051\le n\le 3\times 10^5,1≤Ai≤1091\le A_i\le 10^9,保证序列 AA 中元素两两不同。
难度 未评定
通过率 —
尝试 0
通过 0
ID
3837
类型
传统题
Time Limit
1000ms
Memory Limit
256MiB
上传者