You can do this in O(n) by using a selection algorithm. Find the kth largest element with the partition algorithm, then all the elements after it will be larger than it, and those are your top k.
If you need those top k in sorted order, you can then sort them in O(k log k).