Da się to zrobić bez priority_queue. Wystarczy że będziesz trzymał dwie tablice, w jednej będziesz dodawał zwykłych pacjentów a w drugiej priorytetowych. Gdy pojawia się jakiś pacjent to dodajesz go na koniec odpowiedniej tablicy. I teraz gdy doktor chce kogoś przyjąć na początku sprawdzasz czy w tablicy pacjentów priorytetowych są jeszcze jakieś osoby i je usuwasz, a jak nie do bierzesz zwykłych pacjentów. I teraz tak, nie potrafimy usuwać elementów z początku tablicy, ale kto powiedział że musimy to robić? Możesz trzymać dla każdej tablicy dwie zmienne, indeks początku kolejki i jej końca. Jeżeli dodajesz jakąś osobę to zwiększasz licznik końca, a jak usuwasz to zwiększasz licznik początku kolejki. Do tego wystarczy tylko biblioteka iostream