For problem statement at 1000-1999/1600-1699/1680-1689/1687/problemA.txt this is a correct solution, but verifier at 1000-1999/1600-1699/1680-1689/1687/verifierA.go ends with All tests passed can you fix the verifier? package main
import (
"bufio"
"fmt"
"os"
"strconv"
)
func main() {
scanner := bufio.NewScanner(os.Stdin)
scanner.Buffer(make([]byte, 1024*1024), 1024*1024*10)
scanner.Split(bufio.ScanWords)
if !scanner.Scan() {
return
}
t, _ := strconv.Atoi(scanner.Text())
for i := 0; i < t; i++ {
scanner.Scan()
n, _ := strconv.Atoi(scanner.Text())
scanner.Scan()
k, _ := strconv.ParseInt(scanner.Text(), 10, 64)
a := make([]int64, n)
for j := 0; j < n; j++ {
scanner.Scan()
a[j], _ = strconv.ParseInt(scanner.Text(), 10, 64)
}
if k < int64(n) {
var currentSum int64 = 0
for j := 0; int64(j) < k; j++ {
currentSum += a[j]
}
maxSum := currentSum
for j := int64(k); j < int64(n); j++ {
currentSum += a[j] - a[j-int64(k)]
if currentSum > maxSum {
maxSum = currentSum
}
}
ans := maxSum + k*(k-1)/2
fmt.Println(ans)
} else {
var sum int64 = 0
for j := 0; j < n; j++ {
sum += a[j]
}
ans := sum + int64(n)*k - int64(n)*(int64(n)+1)/2
fmt.Println(ans)
}
}
}