寻找具有长度限制的最大子数组和

Go Hard loops

任务 «寻找具有长度限制的最大子数组和»

给定一个整数数组(包含正数和负数)。需要找出长度不超过给定值 K 的连续子数组的最大和。如果存在多个这样的子数组,则输出第一个(即起始索引最小的)。如果数组为空或 K=0,则输出 0。

输入格式

第一行包含两个整数 N (1 ≤ N ≤ 10^5) 和 K (0 ≤ K ≤ N)。第二行包含 N 个以空格分隔的整数。

输出格式

一个整数——长度不超过K的子数组的最大和。

示例

示例 1

输入
5 2 -1 -2 -3 -4 -5
输出
-1

示例 2

输入
4 0 1 2 3 4
输出
0
main.go