Files
go/BasicSyntax/Vector/main.go
2025-10-08 22:52:16 +08:00

41 lines
712 B
Go

package main
import "fmt"
func main() {
var n, m int
fmt.Scanf("%d %d", &n, &m)
if m == 0 || n == 0 {
fmt.Println(0)
return
}
arr := make([]int, n)
result := make([]int, n)
// 输入数组
for i := 0; i < n; i++ {
fmt.Scan(&arr[i])
}
// 计算前缀和 + 滑动窗口
result[0] = arr[0]
for i := 1; i < n; i++ {
if i < m {
result[i] = result[i - 1] + arr[i]
} else {
result[i] = result[i - 1] + arr[i] - arr[i - m]
}
}
min := result[m - 1]
for i := m; i < n; i++ {
if result[i] < min {
min = result[i]
}
}
fmt.Printf("%d\n", min)
}