From your description, it does sound like your process is indeed O(N log K). It also will work, so you can use it.
I personally would use the first version with a priority queue, since I suspect it will be faster. It's not faster in the coarse big-O sense, but I think if you actually work out the number of comparisons and stores taken by both, the second version will take several times more work.