Los K números mas grandes en una secuencia infinita.

propuesto por josejuan

En el LHC se producen miles de millones de colisiones por segundo y dos físicos han realizado una apuesta, ¿podrías ayudarles?

Enunciado
En el LHC se producen miles de millones de colisiones por segundo, la luminosidad es observada por los detectores con una precisión de 0 a 10^9 y dos físicos se han apostado que la frecuencia de luminosidad decae en el máximo de forma lineal para un físico y de forma exponencial para el segundo físico.

 frecuencia            frecuencia
    |                      |       
    |    ····.             |    ····. 
    |         ·            |         ·  
    |          \           |         | 
    |           \          |         |
    |            \         |         |  
    +-- ...... ---\----    +-- ...---|----
        luminosidad            luminosidad 


Podrán estimar la forma del decaimiento si registran las frecuencias de las 10^6 luminosidades mayores y quieren poder observar los resultados mientras se van produciendo los experimentos para decidir en cualquier momento si es suficiente o no con los datos analizados.

Así, tu trabajo consiste en poder procesar una secuencia infinita de números comprendidos entre 0 y 10^9 y mantener en todo momento las frecuencias (nº de veces que ha aparecido) de los 10^6 números (luminosidades) mayores aparecidas.

Por ejemplo, si en lugar de 10^6 se trata de mantener los 3 mayores y se produce la secuencia
    10, 5, 12, 50, 34, 7, 12, 7, 7, 34, 12, 5, 12, ...

entonces se debe tener registrado (en todo momento)
    50: 1 vez
    34: 2 veces
    12: 4 veces

Ver todo el enunciado

Preguntas sobre el desafío

¿Tienes dudas sobre el desafío? plantéala aquí

Plantea tu pregunta

1 Solución

Dar mi solución