#abc217e. [abc217_e]Sorting Queries

[abc217_e]Sorting Queries

题目描述

我们有一个空序列 AA。你将会收到 QQ 个查询,并按照给定的顺序进行处理。每个查询属于以下三种类型之一:

  • 1 x:在序列的末尾追加 xx
  • 2:打印序列开头的元素,然后删除该元素。当执行此查询时,保证 AA 不为空。
  • 3:按照升序对 AA 进行排序。

约束条件

  • 1Q2×1051 \leq Q \leq 2 \times 10^5
  • 0x1090 \leq x \leq 10^9
  • 当执行查询 2 时,保证 AA 不为空。
  • 输入的所有值都是整数。

输入格式

从标准输入读入数据,输入格式如下:

QQ
query1query_1
query2query_2
\vdots
queryQquery_Q

ii 个查询 queryiquery_i 的开始表示查询的类型 cic_i112233)。如果 ci=1c_i = 1,则该行额外包含一个整数 xx

换句话说,每个查询属于以下三种格式之一:

11 xx
22
33

输出格式

按照查询中 ci=2c_i = 2 的数量,打印 qq 行。
jj 行(1jq1 \leq j \leq q)应包含第 jj 个此类查询的响应。

示例输入1

8
1 4
1 3
1 2
1 1
3
2
1 0
2

示例输出1

1
2

在示例输入1中,第 ii 个查询后的序列 AA 的内容如下所示:

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

示例输入2

9
1 5
1 5
1 3
2
3
2
1 6
3
2

示例输出2

5
3
5

在示例输入2中,第 ii 个查询后的序列 AA 的内容如下所示:

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