Fusionando las listas ordenadas K usando la cola de prioridad

Se me ha pedido en mi clase de algoritmo que haga un algoritmo de fusión K-way que sea deO(nlogk) Después de la búsqueda, encontré que se podía hacer haciendo una cola de prioridad de longitud k y encolando con el primer elemento de cada lista. Extraiga el mínimo, agréguelo al resultado y salga de la lista cuyo elemento se ha extraído. Estoy confundido acerca de:

¿Cómo sabrá cuándo se agota una lista en particular, suponga que una lista tiene elementos más pequeños que cualquier otro elemento en otras listas?

¿Cómo sabrá el elemento de cuál lista (si no se utiliza una estructura para definir)?

¿Cómo es la complejidad del tiempo?O(nlogk)?

EDITAR:

Sería un poco más útil si alguien pudiera escribir el algoritmo paso a paso, porque todo lo que he leído está en oraciones y es difícil de entender cómo es, si alguien pudiera escribir el algoritmo podría ser útil entenderlo.

Respuestas a la pregunta(7)

Su respuesta a la pregunta