Module: 우선순위 큐: priority_queue


Problem

1 /3


우선 순위 대기열을 사용하여 최소값 찾기

Theory Click to read/hide

Priority Queue는 컨테이너 유형입니다. 최대(또는 최소)까지 일정한 액세스 속도를 얻을 수 있습니다.) 요소(O(1)), 컨테이너에 요소를 삽입하는 속도를 대수(O(logn))로 증가시킵니다.

기본 연산자:


<사업부> 상단   -  최상위 

요소에 액세스 <사업부>  
<사업부> 크기  - 컨테이너의 요소 수를 반환합니다.
<사업부>
푸시  - 요소를 삽입하고 기본 컨테이너를 정렬합니다.
<사업부>
팝업  - 첫 번째 요소 제거 
<사업부>
최대값을 얻는 예:

 
<사업부>  
#include <iostream>
#include <대기열>
#include "stdio.h"
사용 네임스페이스 std;

기본()
{

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();

}

Problem

<사업부> 일련의 숫자가 주어집니다. 가장 작은 숫자를 찾으세요.
<사업부>  
<사업부> 입력
<사업부> 숫자 N이 먼저 제공됩니다(시퀀스의 숫자 수,  1<=N< ;=100000) 그리고 <사업부> N개의 숫자. <사업부>   <사업부> 출력 <사업부> 가장 작은 숫자를 인쇄합니다. <사업부>
<몸> <사업부>  
엔터 출력
<사업부> 7 <사업부> 4 2 5 -1 4 6 2 -1