← Home
For problem statement at 0-999/800-899/830-839/834/problemB.txt this is a correct solution, but verifier at 0-999/800-899/830-839/834/verifierB.go ends with All tests passed can you fix the verifier? package main

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

func main() {
	var n, k int
	in := bufio.NewReader(os.Stdin)
	fmt.Fscan(in, &n, &k)
	var s string
	fmt.Fscan(in, &s)

	last := make([]int, 26)
	for i := 0; i < n; i++ {
		last[s[i]-'A'] = i
	}

	openDoors := 0
	isOpen := make([]bool, 26)

	for i := 0; i < n; i++ {
		c := s[i] - 'A'
		if !isOpen[c] {
			isOpen[c] = true
			openDoors++
		}
		if openDoors > k {
			fmt.Println("YES")
			return
		}
		if last[c] == i {
			isOpen[c] = false
			openDoors--
		}
	}
	fmt.Println("NO")
}