Очередь с приоритетом - это тип контейнера, который позволяет достичь константной скорости доступа к максимальному (или минимальному) элементу (O(1)), за счет увеличения скорости вставки элементов в контейнер до логарифмической (O(logn)).
Основные операторы:
top - Доступ к верхнему элементу
size - Возвращает количество элементов в контейнере
push - вставляет элемент и сортирует базовый контейнер
pop - удаляет первый элемент
Пример получения максимума:
#include <iostream>
#include <queue>
#include "stdio.h"
using namespace std;
main()
{
priority_queue <int> p_queue;
int N,a;
scanf("%d",&N);
for(int i = 0;i<N;i++)
{
scanf("%d",&a);
p_queue.push(a);
}
cout<<p_queue.top();
}