#P15347. [TOIP 2025] 疊加最大值

[TOIP 2025] 疊加最大值

说明

在一个正整数数组或子数组中,每个出现的数字乘上它的出现次数,称为它的叠加值。「子数组」是指一个数组中,由连续元素所组成的一部分。例如数组 [4,5,2,3,4,2,2][4, 5, 2, 3, 4, 2, 2] 中,55 的叠加值是 5×1=55\times1=544 的叠加值是 4×2=84\times2=833 的叠加值是 3×1=33\times1=3,而 22 的叠加值是 2×3=62\times3=6

输入一个长度为 nn 的正整数数组以及一个正整数 kk,本题要求每一个长度为 kk 的子数组中的最大叠加值。一共有 nk+1n-k+1 个长度为 kk 的子数组,输出这 nk+1n-k+1 个最大叠加值的总和。

举例来说,输入数组是 [4,5,2,3,4,2,2,5][4, 5, 2, 3, 4, 2, 2, 5]n=8n=8k=5k=5,各个子数组的最大叠加值如下:

  • [4,5,2,3,4][4, 5, 2, 3, 4] 的最大叠加值是 4×2=84\times2=8
  • [5,2,3,4,2][5, 2, 3, 4, 2] 的最大叠加值是 5×1=55\times1=5
  • [2,3,4,2,2][2, 3, 4, 2, 2] 的最大叠加值是 2×3=62\times3=6
  • [3,4,2,2,5][3, 4, 2, 2, 5] 的最大叠加值是 5×1=55\times1=5

所有最大叠加值的总和是 8+5+6+5=248+5+6+5=24

输入格式

$$\begin{aligned} &n \; k \\ &c_0 \; c_1 \; \cdots \; c_{n-1} \end{aligned}$$
  • nn 为数组的长度。
  • kk 为所要求子数组的长度。
  • cic_i 为数组中的第 ii 个正整数。

输出格式

XX

  • XX 为所有叠加最大值的总和。
8 5
4 5 2 3 4 2 2 5
24

提示

数据限制

  • 1n1051 \le n\le 10^5
  • 1kn1 \le k \le n
  • 1ci<2311 \le c_i < 2^{31}

评分说明

本题共有三组子任务,条件限制如下所示。 每一组可有一或多笔测试资料,该组所有测试资料皆需答对才会获得该组分数。

子任务 分数 额外输入限制
1 6 输入满足N1000N \le 1000, 且ci106c_i \le 10^6
2 38 输入满足数组数字均不相等。
3 56 无额外限制。