1. A timetable of a conference hall is a list of events in a format [starting date and time; ending date and time; event's name]. What data structure could we to be able to quickly add events and quickly check whether the hall is available in a given interval [starting date and time; ending date and time]?
2. Implement the data structure PriorityQueue, which offers quick execution of the following operations: adding an element, extracting the smallest element.