#3636. Sequence Query

0
    ID: 3636 传统题 2000ms 1024MiB 尝试: 0 已通过: 0 难度: 3 上传者: 标签>AtCoderabc241DGESP 5级枚举(单层循环)模拟

Sequence Query

Sequence Query

题目描述

我们有一个空序列 AA.
给定 QQ 个查询,按顺序处理它们。
每个查询属于以下三种类型之一。

1x1 x :将 xx 插入到 AA 中。

2xk2 x k :在 AA 中不超过 xx 的元素中,输出第 kk 大的值。 (kk 不超过 5\bf{5})
如果在 AA 中不超过 xx 的元素少于 kk 个,则输出 −1-1。

3xk3 x k :在 AA 中不小于 xx 的元素中,输出第 kk 小的值。 (kk 不超过 5\bf{5})
如果在 AA 中不小于 xx 的元素少于 kk 个,则输出 −1-1。

输入格式

输入按照标准输入给出,格式如下: QQ query1\text{query}_1 query2\text{query}_2 ⋮\vdots queryQ\text{query}_Q

在第 ii 个查询 queryi\text{query}_i 中,首先给出查询的类型 cic_i(它是 1,21, 2 或 33 之一)。
如果 ci=1c_i=1,则额外给出 xx;如果 ci=2,3c_i=2, 3,则额外给出 xx 和 kk。 换句话说,每个查询以以下三种格式之一给出:
11 xx

22 xx kk

33 xx kk

输出格式

打印 qq 行,其中 qq 是满足 ci=2,3c_i=2,3 的查询数量。
第 jj 行 (1≤j≤q)(1\leq j\leq 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

提示

1≤Q≤2×1051\leq Q \leq 2\times 10^5 1≤x≤10181\leq x\leq 10^{18} 1≤k≤51\leq k\leq 5 输入中的所有数值均为整数。在处理完 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.

标签: AtCoder|abc241D

来源

AtCoder|abc241D