题目背景
少女于海边伫立,凝视着落日最后的余晖
“已然过去了呢,旧历的一年......”
已获得转载授权。
题目描述
给定序列 {an},满足每一项都不小于前一项。对于所有不超过 k 的正整数 m,询问如果将 a 分成 m 段(可以有空段),并给从前往后第 i 段内的每个数都加上 i,增加后的 j=1∑naj2 最大是多少。询问相互独立,即每次询问时给每个数加的值不保留到下一次询问。
例如,对于序列 {−3,1,2,2},若 m=5,则一种分段方式是 [−3][][1,2][][2],增加后的序列是 −2,4,5,7,此时 j=1∑naj2=94。
记 m=i 时的答案(即此时最大的 j=1∑naj2)为 qi,出于良心考虑,你只需要输出 $\left(\sum\limits_{i=1}^k q_i\right) \bmod 998244353$ 即可。标准程序不基于特殊的输出方式,即能独立求出每一个 qi。
输入格式
第一行两个正整数 n,k,同题意。
接下来一行 n 个整数,表示 {an}。
输出格式
一行一个整数,表示 $\left(\sum\limits_{i=1}^k q_i\right) \bmod 998244353$。
4 3
-3 1 2 2
141
提示
【样例解释】
当 m=1 时,最优策略是 [−3,1,2,2],q1=(−2)2+22+32+32=26。
当 m=2 时,最优策略是 [−3][1,2,2],q2=(−2)2+32+42+42=45。
当 m=3 时,最优策略是 [−3][][1,2,2],q3=(−2)2+42+52+52=70。
则 $\left(\sum\limits_{i=1}^k q_i\right) \bmod 998244353=(q_1+q_2+q_3)\bmod 998244353=(26+45+70)\bmod 998244353=141$。
【数据范围与约束】
测试点编号 |
分数 |
n≤ |
k≤ |
∣ai∣≤ |
特殊性质 |
1∼3 |
15 |
12 |
1000 |
无 |
4∼6 |
1000 |
7∼8 |
10 |
106 |
106 |
107 |
ai≥0 |
9∼12 |
20 |
1000 |
无 |
13∼20 |
40 |
107 |