100 atcoder#ABC217E. [ABC217E] Sorting Queries

[ABC217E] Sorting Queries

题目描述

空の列 A A があります。クエリが Q Q 個与えられるので、与えられた順番に処理してください。
クエリは次の 3 3 種類のいずれかです。

  • 1 x : A A の最後尾に x x を追加する。
  • 2 : A A の最初の要素を出力する。その後、その要素を削除する。このクエリが与えられるとき、A A は空でないことが保証される。
  • 3 : A A を昇順にソートする。

输入格式

入力は以下の形式で標準入力から与えられる。

Q Q query 1 \mathrm{query}\ 1 query 2 \mathrm{query}\ 2 \vdots query Q \mathrm{query}\ Q

i i 番目のクエリ query i \mathrm{query}\ i では、まずクエリの種類 ci c_i 1, 2, 3 1,\ 2,\ 3 のいずれか)が与えられる。 ci = 1 c_i\ =\ 1 の場合はさらに整数 x x が追加で与えられる。

すなわち、各クエリは以下に示す 3 3 つの形式のいずれかである。

1 1 x x

2 2

3 3

输出格式

ci = 2 c_i\ =\ 2 を満たすクエリの回数を q q として q q 行出力せよ。
j j (1  j  q) (1\ \leq\ j\ \leq\ q) 行目では j j 番目のそのようなクエリに対する答えを出力せよ。

题目大意

维护一个空序列 AA ,有 QQ 次查询:

  1. AA 的最后插入一个元素一个元素 xx
  2. 输出 AA 的第一个元素并删除这个元素
  3. 将这个序列排序
8
1 4
1 3
1 2
1 1
3
2
1 0
2
1
2
9
1 5
1 5
1 3
2
3
2
1 6
3
2
5
3
5

提示

制約

  • 1  Q  2 × 105 1\ \leq\ Q\ \leq\ 2\ \times\ 10^5
  • 0  x  109 0\ \leq\ x\ \leq\ 10^9
  • クエリ 2 が与えられるとき、A A は空でない。
  • 入力は全て整数である。

Sample Explanation 1

入力例 1 1 において、 i i 番目のクエリを処理した後の A A の状態を i i 行目に示すと以下のようになります。 - (4) (4) - (4, 3) (4,\ 3) - (4, 3, 2) (4,\ 3,\ 2) - (4, 3, 2, 1) (4,\ 3,\ 2,\ 1) - (1, 2, 3, 4) (1,\ 2,\ 3,\ 4) - (2, 3, 4) (2,\ 3,\ 4) - (2, 3, 4, 0) (2,\ 3,\ 4,\ 0) - (3, 4, 0) (3,\ 4,\ 0)

Sample Explanation 2

入力例 2 2 において、 i i 番目のクエリを処理した後の A A の状態を i i 行目に示すと以下のようになります。 - (5) (5) - (5, 5) (5,\ 5) - (5, 5, 3) (5,\ 5,\ 3) - (5, 3) (5,\ 3) - (3, 5) (3,\ 5) - (5) (5) - (5, 6) (5,\ 6) - (5, 6) (5,\ 6) - (6) (6)