100
#LS1243. 【入门】子数组之和

【入门】子数组之和

【入门】子数组之和

给你一个长度为 nn 的数组 aa,定义:

f(l,r)=i=lraif(l, r) = \sum_{i = l}^{r}a_i

请你计算下面式子的结果:

i=1nj=inf(i,j)\sum_{i=1}^{n}\sum_{j=i}^{n}f(i,j)

简单来说:

  • f(l,r)f(l, r):表示 子数组 [al,al+1,,ar][a_l, a_{l+1}, \cdots, a_{r}] 的和
  • 求所有子数组的 f(l,r)f(l, r),再相加,求最后的总和

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

输入格式

第一行包含一个整数 nn 代表数组长度;

第二行包含 nn 个整数表示数组 aa

输出格式

对于每组数据输出一行,包含答案

3
1 2 3
20

提示

【样例 1 解释】

  • f([1])=1f([1]) = 1
  • f([1,2])=3f([1, 2]) = 3
  • f([1,2,3])=6f([1, 2, 3]) = 6
  • f([2])=2f([2]) = 2
  • f([2,3])=5f([2, 3]) = 5
  • f([3])=3f([3]) = 3
  • 结果为:1+3+6+2+5+3=201+3+6+2+5+3=20

【数据范围】

  • 1n1051 \le n \le 10^5
  • 0ai1050 \le a_i \le 10^5
请思考后再点击查看提示

来源