#ABC241D. 序列查询

序列查询

序列查询

题目描述

我们有一个空序列 AA

给定 QQ 个查询,请按顺序处理它们。

每个查询是以下三种类型之一。

1 x : 将 xx 插入 AA

2 x k : 在 AA 中小于等于 xx 的元素中,输出第 kk 大的值。(kk 不超过 5\mathbf{5})

如果 AA 中小于等于 xx 的元素不足 kk 个,则输出 -1

3 x k : 在 AA 中大于等于 xx 的元素中,输出第 kk 小的值。(kk 不超过 5\mathbf{5})

如果 AA 中大于等于 xx 的元素不足 kk 个,则输出 -1

输入格式

输入按以下格式从标准输入给出:

Q
query_1
query_2
⋮
query_Q

在第 ii 个查询 queryi\text{query}_i 中,首先给出查询类型 cic_i(为 121、233 之一)。

如果 ci=1c_i=1,则额外给出 xx;如果 ci=2,3c_i=2, 3,则额外给出 xxkk

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

1 x
2 x k
3 x k

输出格式

输出 qq 行,其中 qq 是满足 ci=2,3c_i=2,3 的查询数量。

jj(1jq)(1 \le j \le q) 应包含第 jj 个此类查询的答案。

样例

11
1 20
1 10
1 30
1 20
3 15 1
3 15 2
3 15 3
3 15 4
2 100 5
1 1
2 100 5
20
20
30
-1
-1
1

处理完 query1,2,3,4\text{query}_{1,2,3,4} 后,有 A=(20,10,30,20)A=(20,10,30,20)

对于 query5,6,7\text{query}_{5,6,7},AA 中大于等于 1515 的元素为 (20,30,20)(20,30,20)

其中第 11 小的值为 2020;第 22 小为 2020;第 33 小为 3030

数据范围

  • 1Q2×1051 \le Q \le 2 \times 10^5
  • 1x10181 \le x \le 10^{18}
  • 1k51 \le k \le 5
  • 输入中的所有值均为整数。
难度 普及+/提高-
通过率
尝试 0
已通过 0
ID
2712
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签