定义函数 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 |