Informatica Online Judge

  큐와 함께 놀기 [1677 / 068D]

Time Limit(Test case) : 2000(ms)
Number of users who solved : 24   Total Tried : 30


The Champion of this Problem (C++) : suakii - 0ms / 868byte
My Best Submission (C++) : N/A

[koistudy.net (T. JH Park 2016)]

Background

큐$(Queue)$는 선입 선출을 지원하는 자료구조이다.

큐는 원소의 삽입과 삭제 연산을 지원한다.

경곽이는 이러한 단순한 연산에 추가적으로 현재 큐에 들어 있는 가장 작은 원소를 출력하는 연산을 추가적으로 작성하려고 한다.

경곽이를 도와주자.

Input

첫 줄에 연산의 수를 나타내는 정수 N이 입력 된다.


두 번째 줄부터 N가지의 연산이 입력 된다.

연산의 종류

$"+ x"$ : 큐에 정수 $x$를 삽입한다.
$"-"$ : 큐로부터 하나의 원소를 삭제한다.
$"?"$ : 현재 큐에 들어 있는 가장 작은 원소를 출력한다.

모든 삭제, 출력 연산은 큐가 비어 있지 않음을 보장한다.

[입력값의 정의역]
$1 <= N <= 200,000$
$1 <= x <= 100,000$

Output

한 줄 씩 큐의 최소 값을 출력한다.

IO Example

입력
10
+ 1
+ 10
?
-
?
+ 2
?
+ 1234
-
?

출력
1
10
2
2

Submit : [C/C++] | [C++11] | [Obj-C] | [Java] | [Python]
Prob Analysis : [Problem Statistics] | [Solution]