← Home
For problem statement at 1000-1999/1400-1499/1480-1489/1486/problemD.txt this is a correct solution, but verifier at 1000-1999/1400-1499/1480-1489/1486/verifierD.go ends with All 100 tests passed can you fix the verifier? ```go
package main

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

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	scanner.Split(bufio.ScanWords)

	nextInt := func() int {
		scanner.Scan()
		res, _ := strconv.Atoi(scanner.Text())
		return res
	}

	if !scanner.Scan() {
		return
	}
	n, _ := strconv.Atoi(scanner.Text())
	k := nextInt()

	a := make([]int, n)
	maxA := 1
	for i := 0; i < n; i++ {
		a[i] = nextInt()
		if a[i] > maxA {
			maxA = a[i]
		}
	}

	left, right := 1, maxA
	ans := 1

	p := make([]int, n+1)

	for left <= right {
		mid := left + (right - left) / 2

		for i := 0; i < n; i++ {
			val := -1
			if a[i] >= mid {
				val = 1
			}
			p[i+1] = p[i] + val
		}

		minP := 0
		possible := false
		for j := k; j <= n; j++ {
			if p[j-k] < minP {
				minP = p[j-k]
			}
			if p[j] > minP {
				possible = true
				break
			}
		}

		if possible {
			ans = mid
			left = mid + 1
		} else {
			right = mid - 1
		}
	}

	fmt.Println(ans)
}
```