天是小 Z 的生日,同学们为他带来了一块蛋糕。这块蛋糕是一个长方体,被用不同色彩分成了 n 个相同的小块,每小块都有对应的幸运值。
小 Z 作为寿星,自然希望吃到的蛋糕的幸运值总和最大,但小 Z 最多又只能吃 m(m\le n) 小块的蛋糕。
请你帮他从这 n 小块中找出**连续**的 k(1 \le k\le m) 块蛋糕,使得其上的总幸运值最大。
**形式化地**,在数列 \{p_n\} 中,找出一个子段 [l,r](r-l+1\le m),最大化 \sum\limits_{i=l}^rp_i。
第一行两个整数 n,m。分别代表共有 n 小块蛋糕,小 Z 最多只能吃 m 小块。
第二行 n 个整数,第 i 个整数 p_i 代表第 i 小块蛋糕的幸运值。
仅一行一个整数,即小 Z 能够得到的最大幸运值。
5 2 1 2 3 4 5
9
6 3 1 -2 3 -4 5 -6
5
数据规模与约定
- 对于 20\% 的数据,有 1\le n\le100。
- 对于 100\% 的数据,有 1\le n\le5\times 10^5,|p_i|≤500。
保证答案的绝对值在 [0,2^{31}-1] 之内。
| 时间限制 | 1 秒 |
| 内存限制 | 128 MB |