Carrera por dulces

Tiempo límite 2 s PyPy 3: 2,5 s · Python 3: 2,5 s
Memoria límite 1 GB
Casos de prueba 134
Enviar solución

Puntos: 1

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

Hay \(N\) dulces en fila; el dulce \(i\) es de la marca \(C_i\) (marcas de \(1\) a \(K\)). Se quiere comprar un bloque contiguo de dulces en el que las \(K\) marcas aparezcan, y todas la misma cantidad de veces (para repartirlo entre \(K\) personas, cada una con una marca distinta y la misma cantidad de dulces).

Calcula el largo máximo de un bloque así, o \(0\) si no existe ninguno.

Entrada

La primera línea tiene dos enteros \(N\) y \(K\) \((1 \le N, K \le 4 \cdot 10^5)\).

La segunda línea tiene \(N\) enteros \(C_1, \dots, C_N\) \((1 \le C_i \le K)\).

Salida

Una línea con la máxima cantidad de dulces que se pueden comprar.

Notas

En el primer ejemplo sirven los dulces del primero al cuarto o del tercero al sexto (dos de cada marca). Puede que alguna marca no aparezca en la fila, como en el tercer ejemplo.

Ejemplo 1

Entrada

6 2
2 2 1 1 2 2

Salida

4

Ejemplo 2

Entrada

7 3
2 1 2 1 2 2 3

Salida

0

Ejemplo 3

Entrada

3 4
3 4 2

Salida

0

Regional Latinoamericana 2023 del ICPC, problema C («Candy Rush»). Versión en español redactada para este juez; el enunciado oficial, en inglés, está aquí abajo.

Enunciado oficial en inglés (PDF)

Tu navegador no muestra el PDF aquí. Ábrelo en otra pestaña.

Abrir el enunciado oficial en otra pestaña


Comentarios

No hay comentarios por el momento.