I Googled "linearly ordered" and it resulted in it meaning a TOSET. I don't know how a total order would be applicable here, tbh. If "linearly ordered" means "sorted" in an array here, then we can use random access and get the pth element in $O(1)$time. That isn't in the options.
Here's what I think is the answer.
Extracting the minimum element is what heap is for. So, build a min heap in $O(n)$ time.
After that extract the minimum element p times. Each such extraction would invoke heapify, and cost us $O(logn)$ time.
So, Time Complexity would be $O(n + plogn)$
In the worst case, p = n. So, $O(n + nlogn)$
=> $O(nlogn)$