← Home
For problem statement at 0-999/100-199/120-129/126/problemB.txt this is a correct solution, but verifier at 0-999/100-199/120-129/126/verifierB.go ends with All 100 tests passed can you fix the verifier? package main

import (
	"io"
	"os"
)

func main() {
	data, _ := io.ReadAll(os.Stdin)
	i := 0
	for i < len(data) && data[i] <= ' ' {
		i++
	}
	j := i
	for j < len(data) && data[j] > ' ' {
		j++
	}
	s := data[i:j]
	n := len(s)
	if n == 0 {
		return
	}

	pi := make([]int, n)
	for i := 1; i < n; i++ {
		j := pi[i-1]
		for j > 0 && s[i] != s[j] {
			j = pi[j-1]
		}
		if s[i] == s[j] {
			j++
		}
		pi[i] = j
	}

	mx := 0
	for i := 0; i < n-1; i++ {
		if pi[i] > mx {
			mx = pi[i]
		}
	}

	l := pi[n-1]
	for l > 0 && mx < l {
		l = pi[l-1]
	}

	if l == 0 {
		os.Stdout.WriteString("Just a legend")
	} else {
		os.Stdout.Write(s[:l])
	}
}