I can affirm that the Steve's solution is better because it is for Beginner's All-Purpose Simbolic Instruction Code...
you can load any huge amount of data list and process it in few seconds, and it is for All-purpose because you can search the first, the first three or the first one hundred!
I don't know if Bplus can _MEMorize this my sentence or leave the hammer in the toolbox.
The solution of Steve go behind the issue of the first 3 players with higher score and arrive to solve the issue having huge undefined data score how can I find the kvariable first players with higher score?
That's my IMHO