Answer : A (Assuming in the Question He meant Just Heap or Max Heap)
First we will find $p_i/w_i$ for each item which will take $O(n)$ time.
Then, We will build a Max Heap (not Min Heap) based on parameter $p_i/w_i$ which will take $O(n)$ time.
then we will delete the Root(max item) one by one ($O(logn)$ time) and do some calculation ($O(1)$ time). So, for $n$ items, $O(nlogn)$ time.
but If we implement it with min heap data structure then $O(n^2)$. Because It takes $O(n)$ to find max in Min-heap.