#P1398. 「JXOI2017」数列

「JXOI2017」数列

题目描述

九条可怜手上有一个长度为 nn 的整数数列 rir_i ,她现在想要构造一个长度为 nn 的,满足如下条件的整数数列 AA:

  • 1≤Ai≤ri1\leq A_i \leq r_i。
  • 对于任意 3≤i≤n3 \leq i \leq n,令 RR 为 A1A_1 至 Ai−2A_{i-2} 中大于等于 Ai−1A_{i-1} 的最小值,LL 为 A1A_1 至 Ai−2A_{i-2} 中小于等于 Ai−1A_{i-1} 的最大值。AiA_i 必须满足 L≤Ai≤RL \leq A_i \leq R。如果不存在大于等于 Ai−1A_{i-1} 的,那 么 R=+∞R = +\infty;如果不存在小于等于 Ai−1A_{i-1} 的,那么 L=−∞L = −\infty。

现在可怜想要知道共有多少不同的数列满足这个条件。两个数列 AA 和 BB 是不同的当且仅当至少存在一个位置 ii 满足 Ai≠BiA_i \neq B_i。

输入格式

第一行输入一个整数 nn,第二行输入 nn 个整数 rir_i。

输出格式

输出一个整数表示方案数,答案可能很大,对 998244353998244353 取模后输出。

样例

3
2 2 2
6

满足条件的序列有 $[1, 1, 1], [1, 2, 1], [1, 2, 2], [2, 1, 1], [2, 1, 2], [2, 2, 2]$ 。

数据范围与提示

测试点编号 nn rir_i
11 ≤7\leq 7
22
33 ≤50\leq 50 ≤10\leq 10
44
55 ≤16\leq 16
66
77 ≤50\leq 50
88
99 ≤150\leq 150
1010

对于全部数据,保证 n≥1,ri≥1n\ge 1,r_i\ge 1。