Design a mini leaderboard. It should have the following methods.
- insert(uid) - inserts a new user id into the mini leaderboard
- update(uid, score) - updates the score of the given user id with score
- topk() - returns top k userids and their scores
- getWindow(uid, k) - return k userids around the given uid. Preferrably, the given uid can be placed in the middle if possible.