El substring repetido más largo

Tiempo límite 3 s
Memoria límite 256 MB
Casos de prueba 9
Dificultad Difícil Algoritmos
Mostrar (3) Búsqueda binariaCadenasHashing de strings
Enviar solución

Puntos: 20

Tipos de problema
Lenguajes permitidos
C, C++, Java, Python, Rust

Encuentra el substring más largo que aparece al menos dos veces en \(s\) (las apariciones pueden solaparse). Si hay varios del mismo largo, el que empieza más a la izquierda en \(s\).

Entrada

Una línea con \(s\), de entre \(2\) y \(3 \cdot 10^4\) letras minúsculas.

Salida

La primera línea tiene el largo \(L\) del substring (\(0\) si ninguno se repite). Si \(L > 0\), la segunda línea tiene el substring.

Ejemplo 1

Entrada

banana

Salida

3
ana

Ejemplo 2

Entrada

abcd

Salida

0

Ejemplo 3

Entrada

aa

Salida

1
a

Comentarios

No hay comentarios por el momento.