K números más frecuentes

Dada una secuencia de números naturales entre 1 y 100 000, hay que
encontrar los K números que aparecen con más frecuencia y mostrarlos
ordenados de mayor a menor frecuencia. Si dos números tienen la misma
frecuencia, hay que mostrar primero el más pequeño.

Por ejemplo, si la secuencia es:

    3 1 4 1 5 9 2 6 5 3 5 1

y K = 3, los números más frecuentes son: el 1 (aparece 3 veces), el 5
(aparece 3 veces) y el 3 (aparece 2 veces). Como el 1 y el 5 tienen la
misma frecuencia, el 1 va primero porque es más pequeño.

Observación

En este problema el centro de interés es la eficiencia. Hay que
encontrar las estructuras de datos adecuadas para resolver el problema
en el menor tiempo posible.

Entrada

La entrada consiste en varios casos. Cada caso empieza con dos enteros N
y K, seguidos de N números naturales entre 1 y 100 000. La entrada
termina con fin de fichero.

Salida

Para cada caso, hay que escribir los K números más frecuentes, uno por
línea, ordenados de mayor a menor frecuencia. Si dos números tienen la
misma frecuencia, el más pequeño va primero. Cada caso termina con una
línea con ---.

Información del problema

Autoría: Unknown
Traducción: Pau Fernández

Generación: 2026-03-24T11:36:31.648Z

© Jutge.org, 2006–2026.
https://jutge.org
