#9838. 小 K 的第 K 小数

    ID: 9838 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>树状数组值域树状数组动态第K小多重集合

小 K 的第 K 小数

题目描述

对于第 kk 个数字,我们都应该非常熟悉。当然,对于小 k\text{k} 来说也很简单。现在小 k\text{k} 遇到了一个非常类似的问题,小 k\text{k} 想要设计一个容器,这个容器需要支持三种操作。

11PushPush: 将给定元素 ee 推入容器

22PopPop: 从容器中弹出给定元素 ee

3、QueryQuery : 给定两个元素 aakk,查询容器中大于 aa 的第 kk 小的数字;

尽管小 k\text{k} 非常聪明,但他想不出如何做到,你能帮助他解决这个问题吗?

输入格式

输入一些测试数据组,每组测试数据的第一个数字是一个整数 mm,表示要执行的操作数。

接下来的 mm 行,每行以整数 pp 开头,pp 有三个可能的取值:

如果 pp00,则会有一个整数 ee ,表示将元素 ee 压入容器。

如果 pp11,则会有一个整数 ee,表示从容器中删除元素 ee

如果 pp22,则会有两个整数 aakk ,表示查询,找出大于 aa 的第 kk 小数字。

输出格式

对于每次删除操作,如果要删除不存在的元素,则输出 "No Elment!"。对于每次查询,输出适当的答案。如果该数字不存在,则输出 "Not Find!"。

5
0 5
1 2
0 6
2 3 2
2 8 1
7
0 2
0 2
0 4
2 1 1
2 1 2
2 1 3
2 1 4
No Elment!
6
Not Find!
2
2
4
Not Find!

样例分析

对于第一组数据,有 55 次操作:

第一次操作后,容器中元素为 {5}\{5\}

第二次操作,容器中不存在元素 22,输出 "No Elment!";

第三次操作后,容器中元素为 {5,6}\{5,6\}

第四次操作,询问容器中大于 22 的第 22 小的元素,输出 66

第五次操作,询问容器中大于 88 的第 11 小的元素,元素不存在,输出"Not Find!" ;

数据范围与提示

对于 100%100\% 的数据:1<m<1051 \lt m \lt 10^50<e<1050 \lt e \lt 10^50<a<1050 \lt a \lt 10^50<k<1040 \lt k \lt 10^4