Could you clarify a bit more about what you need, not an expert but might be able to have an idea in the right direction.
You have an unordered set and you wish to pick the nth ranked item?
Does the entire set need to be ordered after the first request or do you just need the first n items ordered as requested?
i.e.
100 element unodered set.
Request the 6th 2nd and 12th ranking element in that order. Therefore you would only need to fully order the top 6 items on the first request. No order would be required on the second request as 2 < 6 and the top 12 on the last request.