← Home
For problem statement at 1000-1999/1900-1999/1960-1969/1968/problemG1.txt this is a correct solution, but verifier at 1000-1999/1900-1999/1960-1969/1968/verifierG1.go ends with All 100 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 t int
	fmt.Fscan(reader, &t)

	for i := 0; i < t; i++ {
		var n, l, r int
		fmt.Fscan(reader, &n, &l, &r)
		var s string
		fmt.Fscan(reader, &s)

		k := l
		z := make([]int, n)
		L, R := 0, 0
		for j := 1; j < n; j++ {
			if j <= R {
				min := R - j + 1
				if z[j-L] < min {
					min = z[j-L]
				}
				z[j] = min
			}
			for j+z[j] < n && s[z[j]] == s[j+z[j]] {
				z[j]++
			}
			if j+z[j]-1 > R {
				L, R = j, j+z[j]-1
			}
		}

		low, high := 1, n/k
		ans := 0
		for low <= high {
			mid := (low + high) / 2
			cnt := 1
			for idx := mid; idx <= n-mid; {
				if z[idx] >= mid {
					cnt++
					if cnt >= k {
						break
					}
					idx += mid
				} else {
					idx++
				}
			}
			if cnt >= k {
				ans = mid
				low = mid + 1
			} else {
				high = mid - 1
			}
		}
		fmt.Fprintln(writer, ans)
	}
}
```