For problem statement at 0-999/800-899/870-879/875/problemB.txt this is a correct solution, but verifier at 0-999/800-899/870-879/875/verifierB.go ends with All 100 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] < '0' || data[idx] > '9') {
idx++
}
val := 0
for idx < len(data) && data[idx] >= '0' && data[idx] <= '9' {
val = val*10 + int(data[idx]-'0')
idx++
}
return val
}
n := nextInt()
p := make([]int, n+1)
for i := 1; i <= n; i++ {
p[i] = nextInt()
}
mx := make([]int, n+2)
for i := n; i >= 1; i-- {
if p[i] > mx[i+1] {
mx[i] = p[i]
} else {
mx[i] = mx[i+1]
}
}
var out bytes.Buffer
for k := 0; k <= n; k++ {
if k > 0 {
out.WriteByte(' ')
}
ans := 1 + k + mx[k+1] - n
out.WriteString(strconv.Itoa(ans))
}
out.WriteByte('\n')
os.Stdout.Write(out.Bytes())
}