Carrera por dulces
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.
Comentarios