You need to understand the heap data structure: a complete binary tree where parent nodes have higher priority (max-heap) or lower priority (min-heap) than their children. This structure enables insert and extract operations.
Most languages provide built-in priority queues or heap libraries. Know your language's heap API before starting these problems. In Python use heapq, in JavaScript use a custom implementation or library.