← Home
For problem statement at 0-999/300-399/310-319/319/problemB.txt this is a correct solution, but verifier at 0-999/300-399/310-319/319/verifierB.go ends with All tests passed can you fix the verifier? ```go
package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	reader := bufio.NewReader(os.Stdin)
	writer := bufio.NewWriter(os.Stdout)
	defer writer.Flush()

	var n int
	fmt.Fscan(reader, &n)

	a := make([]int, n)
	for i := 0; i < n; i++ {
		fmt.Fscan(reader, &a[i])
	}

	dp := make([]int, n)
	stack := make([]int, 0, n)

	for i := 0; i < n; i++ {
		for len(stack) > 0 && a[stack[len(stack)-1]] < a[i] {
			if dp[stack[len(stack)-1]] > dp[i] {
				dp[i] = dp[stack[len(stack)-1]]
			}
			stack = stack[:len(stack)-1]
		}
		if len(stack) > 0 {
			dp[i]++
		} else {
			dp[i] = 0
		}
		stack = append(stack, i)
	}

	maxSteps := 0
	for i := 0; i < n; i++ {
		if dp[i] > maxSteps {
			maxSteps = dp[i]
		}
	}

	fmt.Fprintln(writer, maxSteps)
}
```