题面翻译
给出一个由 N 个数字组成的序列 A 。
有 2N−1 种方法可以将 A 分成非空的连续子序列 B1,B2,…,Bk 。请找出以下每种方法的值,并打印出这些值的和,模为 998244353 。
- ∏i=1k(max(Bi)−min(Bi))
这里,对于序列 Bi=(Bi,1,Bi,2,…,Bi,j) , max(Bi) 和 min(Bi) 分别定义为 Bi 中元素的最大值和最小值。
输入格式
第一行输入一个整数 N
第二行输入 N 个空格隔开的整数 A1,A2,⋯,AN
输出格式
输出一个整数
3
1 2 3
2
4
1 10 1 10
90
10
699498050 759726383 769395239 707559733 72435093 537050110 880264078 699299140 418322627 134917794
877646588
提示
- 1≤N≤3×105
- 1≤Ai≤109
- 所有输入值均为整数。
Sample Explanation 1
有 4 种方法可以将 A=(1,2,3) 分割成非空的连续子序列,如下所示。
- (1) , (2) , (3)
- (1) , (2,3)
- (1,2) , (3)
- (1,2,3)
这些划分方案的的 ∏i=1k(max(Bi)−min(Bi)) 分别是 0 , 0 , 0 , 2 。它们的总和是 0+0+0+2=2 。