Copiado al portapapeles
Descripción
Estas enviando mensajes en una de las redes sociales populares a través de su teléfono inteligente. Su teléfono inteligente puede mostrar como máximo $k$ conversaciones más recientes con sus amigos. Inicialmente, la pantalla está vacía (es decir, el número de conversaciones mostradas es igual a $0$).
Cada conversación es entre usted y algunos de sus amigos. Hay como máximo una conversación con cualquiera de tus amigos. Por lo tanto, cada conversación está definida de manera única por su amigo.
Usted (¡de repente!) Tiene la capacidad de ver el futuro. Sabes que durante el día recibirás n mensajes, el i-ésimo mensaje será recibido del amigo con ID $d_i (1 \leq d_i \leq 10^9)$.
Si recibe un mensaje de $d_i$ en la conversación que se muestra actualmente en el teléfono inteligente, entonces no sucede nada: las conversaciones de la pantalla no cambian y no cambian su orden, usted lee el mensaje y continúa esperando nuevos mensajes.
De lo contrario (es decir, si no hay conversación con $d_i$ en la pantalla):
En primer lugar, si el número de conversaciones que se muestran en la pantalla es $k$, la última conversación (que tiene la posición $k$) se elimina de la pantalla.
Ahora se garantiza que la cantidad de conversaciones en la pantalla será inferior a $k$ y la conversación con el amigo di no se muestra en la pantalla.
La conversación con el amigo di aparece en la primera posición (la más alta) de la pantalla y todas las demás conversaciones mostradas se desplazan una posición hacia abajo.
Su tarea es encontrar la lista de conversaciones (en el orden en que se muestran en la pantalla) después de procesar todos los n mensajes.
Entrada
La primera línea de la entrada contiene dos enteros n y k $(1 \leq n, k \leq 10^5)$: la cantidad de mensajes y la cantidad de conversaciones que puede mostrar su teléfono inteligente.
La segunda línea de la entrada contiene n enteros $d_1, d_2,..., d_n (1 \leq d_i \leq 10^9)$, donde $d_i$ es el ID del amigo que le envía el i-ésimo mensaje.
Salida
En la primera línea de la salida, imprima un número entero m $(1 \leq m \leq min (n, k))$: el número de conversaciones que se muestran después de recibir todos los n mensajes.
En la segunda línea, imprima $m$ enteros $d_{s1}, d_{s2},..., d_{sm}$, separados por un espacio (no es necesario imprimir un salto de linea al final del último dato), donde dsi debe ser igual a la ID del amigo correspondiente a la conversación que se muestra en la posición $i$ después de recibir todos los n mensajes.
Ayuda
las conversaciones cambiaran de la siguiente manera:
$[]$
$[1]$
$[2,1]$
$[3,2]$
$[3,2]$
$[1,3]$
$[1,3]$
$[2,1]$