给定一个长度为 n 的数组 a1,a2,…,an,需要将数组分成两部分:前缀部分 a1,a2,…,ax 和后缀部分 ax+1,ax+2,…,an(其中 1≤x<n),使得下式达到最大值:
sumi=1x∑j=x+1nai×aj
注意:输出结果需对998244353 取模。
Tk有一个长度为n的数组{a1,a2,...,an},他希望将数组分割为{a1,a2,...,ax}和{ax+1,ax+2,an}两个部分(显然,x需要满足1≦x<n),使得下式的答案达到最大:
∑i=1x∑j=x+1nai×aj
这却难倒聪明的他了,现在他来寻求你的帮助,不过你并不需要告诉他具体分割位置,只需要告诉他最终结果即可。由于答案可能很大,请将答案对 998 244 353取模后输出。
第一行输入一个正整数n(2≦n≦2×105)表示数组大小。
第二行输入n个整数a1,a2,...,an(1≦a≦104)代表数组中的元素。
输出一个值表示上式的最大值。由于答案可能很大,请将答案对998 244 353取模后输出。
输入
5
3 2 4 1 5
输出
54
分割最终区间为[1,3],[4,5],可以得到最大值54