#511. 小方的能力收集器

小方的能力收集器

问题描述

某能量收集器上分布着 nn 个连续的能量节点,每个节点都有对应的能量值(能量值可正可负)。现在需要从这些节点中收集能量,最多可以连续收集 kk (1km)(1 \leq k \leq m)个节点的能量,其中 (mn)(m \le n)。请你找出连续收集的能量总和最大的情况,输出这个最大总和。形式化地,在数列 {pn} \{p_n\}  中,找出一个子段 [l,r](rl+1m)[l,r](r-l+1\le m),最大化 i=lrpi\sum\limits_{i=l}^rp_i

输入格式

第一行两个整数 n,mn, m。分别代表共有 nn 个能量节点,最多只能连续收集 mm 个节点。第二行 nn 个整数,第 ii 个整数 pip_i 代表第 ii 个能量节点的能量值。

输出格式

仅一行一个整数,即能收集到的最大能量总和。

输入样例 #1

5 2
1 2 3 4 5

输出样例 #1

9

输入样例 #2

6 3
1 -2 3 -4 5 -6

输出样例 #2

5

说明

评测数据规模

对于所有评测数据,  1n5×1051\le n\le5\times 10^5,pi500|p_i|≤500

保证答案的绝对值在 [0,2311][0,2^{31}-1] 之内。