P15347 [TOIP 2025] 叠加最大值

题目描述

在一个正整数数组或子数组中,每个出现的数字乘上它的出现次数,称为它的叠加值。「子数组」是指一个数组中,由连续元素所组成的一部分。例如数组 $[4, 5, 2, 3, 4, 2, 2]$ 中,$5$ 的叠加值是 $5\times1=5$,$4$ 的叠加值是 $4\times2=8$,$3$ 的叠加值是 $3\times1=3$,而 $2$ 的叠加值是 $2\times3=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\times2=8$。 * $[5, 2, 3, 4, 2]$ 的最大叠加值是 $5\times1=5$。 * $[2, 3, 4, 2, 2]$ 的最大叠加值是 $2\times3=6$。 * $[3, 4, 2, 2, 5]$ 的最大叠加值是 $5\times1=5$。 所有最大叠加值的总和是 $8+5+6+5=24$。

输入格式

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

输出格式

$X$ - $X$ 为所有叠加最大值的总和。

说明/提示

### 数据限制 * $1 \le n\le 10^5$。 * $1 \le k \le n$。 * $1 \le c_i < 2^{31}$。 ### 评分说明 本题共有三组子任务,条件限制如下所示。 每一组可有一或多笔测试资料,该组所有测试资料皆需答对才会获得该组分数。 | 子任务 | 分数 | 额外输入限制 | | :------: | :----: | ------------ | | 1 | 6 | 输入满足$N \le 1000$, 且$c_i \le 10^6$。 | | 2 | 38 | 输入满足数组数字均不相等。 | | 3 | 56 | 无额外限制。 |