Очередь с приоритетом: priority_queue




Очередь с приоритетом - это тип контейнера, который позволяет достичь константной скорости доступа к максимальному (или минимальному) элементу (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();
	
}

Task
Time limit: 1000 ms,
Memory limit: 256 Mb

Дана последовательность чисел. Найти в ней наименьшее число.
 
Входные данные
Задано сначала число N (количество чисел в последовательности, 1<=N<=100000), а затем
N чисел.
 
Выходные данные
Выведите наименьшее число.

Ввод Вывод
7
4 2 5 -1 4 6 2
-1
 

Auto CHOOSE THE PROGRAMMING NECESSARY LANGUAGE!
Attach the program source file:
or enter the source code in the language:

Rules for designing programs and a list of errors during automatic task verification
           

Results: