I think the assignment is confusing too. If you've never implemented a priority queue before, well, it is a queue, and each element has an associated priority. Elements are meant to be processed in priority order. Making the data conform to a
min heap property is one way to implement it.
The specifics of the assignment demand some things that I have never really cared about but wouldn't have a personal issue doing, like wanting to find specific elements in the queue in better than linear time. Admittedly, some of the ideas put forward, like hashing, are bad, if you want the data to work remotely like a queue. I would just sort and use a binary search.