For problem statement at 1000-1999/1000-1099/1090-1099/1092/problemD1.txt this is a correct solution, but verifier at 1000-1999/1000-1099/1090-1099/1092/verifierD1.go ends with case 1 failed
input:
4
10 9 3 6
expected: YES
got: NO
exit status 1 can you fix the verifier? ```go
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
var n int
fmt.Fscan(reader, &n)
a := make([]int, n)
for i := 0; i < n; i++ {
fmt.Fscan(reader, &a[i])
}
stack := [][2]int{}
for i := 0; i < n; i++ {
h := a[i]
cnt := 1
for len(stack) > 0 && stack[len(stack)-1][0] > h {
top := stack[len(stack)-1]
stack = stack[:len(stack)-1]
if top[1]%2 == 1 {
h = top[0]
}
cnt += top[1]
}
if len(stack) > 0 && stack[len(stack)-1][0] == h {
stack[len(stack)-1][1] += cnt
} else {
stack = append(stack, [2]int{h, cnt})
}
}
if len(stack) == 1 {
fmt.Println("YES")
return
}
maxH := stack[len(stack)-1][0]
for i := 0; i < len(stack); i++ {
if stack[i][1]%2 == 1 && (maxH-stack[i][0])%2 != 0 {
fmt.Println("NO")
return
}
}
fmt.Println("YES")
}
```