For problem statement at 1000-1999/1800-1899/1880-1889/1881/problemE.txt this is a correct solution, but verifier at 1000-1999/1800-1899/1880-1889/1881/verifierE.go ends with all tests passed can you fix the verifier? package main
import (
"bytes"
"io"
"os"
"strconv"
)
func main() {
data, _ := io.ReadAll(os.Stdin)
idx := 0
nextInt := func() int {
for idx < len(data) && (data[idx] == ' ' || data[idx] == '\n' || data[idx] == '\r' || data[idx] == '\t') {
idx++
}
sign := 1
if idx < len(data) && data[idx] == '-' {
sign = -1
idx++
}
val := 0
for idx < len(data) && data[idx] >= '0' && data[idx] <= '9' {
val = val*10 + int(data[idx]-'0')
idx++
}
return val * sign
}
t := nextInt()
var out bytes.Buffer
for tc := 0; tc < t; tc++ {
n := nextInt()
a := make([]int, n)
for i := 0; i < n; i++ {
a[i] = nextInt()
}
dp := make([]int, n+1)
for i := n - 1; i >= 0; i-- {
best := dp[i+1]
end := i + a[i]
if end < n {
val := a[i] + 1 + dp[end+1]
if val > best {
best = val
}
}
dp[i] = best
}
out.WriteString(strconv.Itoa(n - dp[0]))
if tc+1 < t {
out.WriteByte('\n')
}
}
os.Stdout.Write(out.Bytes())
}