Initialize a min-heap with the first element from each list (along with list index and position).
Extract the minimum. The extracted value is the next element in the merged output.
If that list has more elements, insert the next one into the heap.
Repeat until heap is empty. The heap always has at most elements. Each of the total elements is inserted and extracted once. Total: .