← Home
For problem statement at 0-999/700-799/770-779/778/problemA.txt this is a correct solution, but verifier at 0-999/700-799/770-779/778/verifierA.go ends with All tests passed can you fix the verifier? ```go
package main

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

func canRemove(k int, t, p []byte, order []int) bool {
	n := len(t)
	removed := make([]bool, n)
	for i := 0; i < k; i++ {
		removed[order[i]] = true
	}
	j := 0
	for i := 0; i < n && j < len(p); i++ {
		if removed[i] {
			continue
		}
		if t[i] == p[j] {
			j++
		}
	}
	return j == len(p)
}

func main() {
	in := bufio.NewReaderSize(os.Stdin, 1<<20)

	var ts, ps string
	fmt.Fscan(in, &ts)
	fmt.Fscan(in, &ps)

	t := []byte(ts)
	p := []byte(ps)

	n := len(t)
	order := make([]int, n)
	for i := 0; i < n; i++ {
		fmt.Fscan(in, &order[i])
		order[i]--
	}

	lo, hi := 0, n
	for lo < hi {
		mid := (lo + hi + 1) / 2
		if canRemove(mid, t, p, order) {
			lo = mid
		} else {
			hi = mid - 1
		}
	}

	fmt.Print(lo)
}
```