← Home
For problem statement at 1000-1999/1400-1499/1490-1499/1492/problemC.txt this is a correct solution, but verifier at 1000-1999/1400-1499/1490-1499/1492/verifierC.go ends with All tests passed can you fix the verifier? package main

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

func main() {
	var n, m int
	reader := bufio.NewReader(os.Stdin)
	fmt.Fscan(reader, &n, &m)

	var s, t string
	fmt.Fscan(reader, &s)
	fmt.Fscan(reader, &t)

	L := make([]int, m)
	R := make([]int, m)

	j := 0
	for i := 0; i < m; i++ {
		for s[j] != t[i] {
			j++
		}
		L[i] = j
		j++
	}

	j = n - 1
	for i := m - 1; i >= 0; i-- {
		for s[j] != t[i] {
			j--
		}
		R[i] = j
		j--
	}

	maxDiff := 0
	for i := 0; i < m-1; i++ {
		diff := R[i+1] - L[i]
		if diff > maxDiff {
			maxDiff = diff
		}
	}

	fmt.Println(maxDiff)
}