开始: 2026-09-28 00:00:00

26.9复赛模拟赛03

结束: 2026-09-30 00:00:00
当前  2026-11-04 13:29:45  类型: IOI  状态: 已经结束 

P5. 位数求和
描述

定义函数 f(x) 表示整数 x 在十进制表示下的位数。例如:

f(998244353) = 9,

f(799) = 3。

现在,对于每一个区间 [l, r],小蓝不再使用区间长度本身,而是使用区间长度的位数 f(r - l + 1)。因此,他希望你计算下面这个式子的值:

\sum_{l=1}^{n} \sum_{r=l}^{n} f(r - l + 1) \max_{l \leq i \leq r} a_i  

由于答案可能非常大,你只需要输出结果对 998244353 取模后的值。


输入

输入共两行。

第一行包含一个正整数 n,表示序列的长度。

第二行包含 n 个正整数 a_1, a_2, \dots, a_n,表示给定的序列。


输出

输出一行,包含一个整数,表示 \sum_{l=1}^{n} \sum_{r=l}^{n} f(r - l + 1) \max_{l \leq i \leq r} a_i 对 998244353 取模后的结果。


样例

输入

5
1 2 3 4 5

输出

55

输入

10
1 2 3 4 5 6 7 8 9 10

输出

395
提示

对于 30\% 的评测用例,n \leq 500;

对于 60\% 的评测用例,n \leq 3000;

对于所有的评测用例,1 \leq n \leq 500000,1 \leq a_i \leq 10^9。


提交

题目参数
时间限制 1 秒
内存限制 128 MB
提交