说明
在一个正整数数组或子数组中,每个出现的数字乘上它的出现次数,称为它的叠加值。「子数组」是指一个数组中,由连续元素所组成的一部分。例如数组 [4,5,2,3,4,2,2] 中,5 的叠加值是 5×1=5,4 的叠加值是 4×2=8,3 的叠加值是 3×1=3,而 2 的叠加值是 2×3=6。
输入一个长度为 n 的正整数数组以及一个正整数 k,本题要求每一个长度为 k 的子数组中的最大叠加值。一共有 n−k+1 个长度为 k 的子数组,输出这 n−k+1 个最大叠加值的总和。
举例来说,输入数组是 [4,5,2,3,4,2,2,5],n=8,k=5,各个子数组的最大叠加值如下:
- [4,5,2,3,4] 的最大叠加值是 4×2=8。
- [5,2,3,4,2] 的最大叠加值是 5×1=5。
- [2,3,4,2,2] 的最大叠加值是 2×3=6。
- [3,4,2,2,5] 的最大叠加值是 5×1=5。
所有最大叠加值的总和是 8+5+6+5=24。
输入格式
$$\begin{aligned}
&n \; k \\
&c_0 \; c_1 \; \cdots \; c_{n-1}
\end{aligned}$$
- n 为数组的长度。
- k 为所要求子数组的长度。
- ci 为数组中的第 i 个正整数。
输出格式
X
8 5
4 5 2 3 4 2 2 5
24
提示
数据限制
- 1≤n≤105。
- 1≤k≤n。
- 1≤ci<231。
评分说明
本题共有三组子任务,条件限制如下所示。
每一组可有一或多笔测试资料,该组所有测试资料皆需答对才会获得该组分数。
| 子任务 |
分数 |
额外输入限制 |
| 1 |
6 |
输入满足N≤1000, 且ci≤106。 |
| 2 |
38 |
输入满足数组数字均不相等。 |
| 3 |
56 |
无额外限制。 |