Función para calcular la suma máxima de un subarreglo con restricción de longitud
Go
Hard
functions
Tarea «Función para calcular la suma máxima de un subarreglo con restricción de longitud»
Escriba la función MaxSubarraySumWithLimit(nums []int, k int) int, que recibe un arreglo de enteros nums y un entero k (1 ≤ k ≤ len(nums)). La función debe devolver la suma máxima de un subarreglo continuo de longitud no mayor a k. Si el arreglo está vacío, devolver 0. Implemente un algoritmo con complejidad temporal O(n).
Formato de entrada
En la entrada se proporcionan dos números: n (longitud del arreglo, 0 ≤ n ≤ 10^5) y k (1 ≤ k ≤ n). Luego n números enteros — los elementos del arreglo (-10^9 ≤ nums[i] ≤ 10^9).
Formato de salida
Un único número entero — la suma máxima del subarreglo de longitud no mayor a k.
Ejemplos
Ejemplo 1
ENTRADA
5 3
1 2 3 4 5
SALIDA
12
Ejemplo 2
ENTRADA
4 2
-1 -2 -3 -4
SALIDA
-1
Ejemplo 3
ENTRADA
7
1 2 3 4 5 -1 6
SALIDA
6
Ejemplo 4
ENTRADA
6 4
2 -1 3 4 -2 1
SALIDA
8
Ejemplo 5
ENTRADA
3
-5 10 20
SALIDA
15
main.go