How to best maintain a sorted list from a stream of integers?
A balanced binary search tree can support access to arbitrary elements in $O(\log N)$ time per access.  Augment the data structure to store, in each node, the number of values stored in the subtree under that node.  Then you can find the $i$th largest value in the list in $O(\log N)$ time as well; thus, all basic operations can be done in $O(\log N)$ time.