← Home
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")
}
```