题目描述
给定一个长度为 的整数序列 和一个整数 ,请选取一段长度至少为 的连续子段,使其元素之和最大。
即求所有满足 且 的区间 中, 的最大值。
输入格式
第一行输入两个整数 。
第二行输入 个整数 。
输出格式
输出一个整数,表示满足条件的最大子段和。
样例 1
5 3
2 -5 4 3 -1
6
样例 1 说明
选择区间 ,对应子段 4 3 -1,长度为 ,和为 。
样例 2
4 2
1 2 3 4
10
样例 2 说明
可以选择整个序列,长度为 ,和为 。注意,长度可以大于 。
数据范围与评分
对于所有数据,,。
| 测试组 | 分值 | 额外限制 |
|---|---|---|
| 1 | 20 | n <= 200 |
| 2 | 30 | n <= 2000 |
| 3 | 50 | 无 |
各组独立计分,只有通过一组内的所有测试点,才能获得该组分数。
答案可能超出 32 位整数的范围,请使用 64 位整数类型(如 C++ 的 long long)。