AT_abc234_g.[ABC234G] Divide a Sequence
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个长度为 N 的数列 A。
将 A 切分为若干个非空、连续的子序列 B1,B2,…,Bk 的方法共有 2N−1 种。对于每一种切分方式,计算如下的值,并将所有切分方式下的结果求和后对 998244353 取模输出:
- ∏i=1k (max(Bi)−min(Bi))
这里,对于某个子序列 Bi=(Bi,1,Bi,2,…,Bi,j),max(Bi) 表示 Bi 中元素的最大值,min(Bi) 表示 Bi 中元素的最小值。
输入格式
输入以如下格式从标准输入读入:
N A1 A2 … AN
输出格式
输出所求值的总和对 998244353 取模后的结果。
输入输出样例
输入#1
3 1 2 3
输出#1
2
输入#2
4 1 10 1 10
输出#2
90
输入#3
10 699498050 759726383 769395239 707559733 72435093 537050110 880264078 699299140 418322627 134917794
输出#3
877646588
说明/提示
数据范围
- 1≤N≤3×105
- 1≤Ai≤109
- 输入均为整数
样例解释 1
将 A=(1,2,3) 切分为非空连续子序列的方法共有 4 种:
- (1) 和 (2) 和 (3)
- (1) 和 (2,3)
- (1,2) 和 (3)
- (1,2,3)
对于每种切分方式,∏i=1k (max(Bi)−min(Bi)) 分别为 0、0、0、2,因此总和为 2,输出 2。
样例解释 3
请注意,输出时需要对 998244353 取模。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?