SP31591 ALLIN1 - All in One
题目描述
在解决这道题之前,您可以先尝试一下这道题:[AVL 树](../SDITSAVL/)
这个问题其实很简单。最开始时,你有一个空列表。接下来,你会接收到四种类型的查询:
1. 向列表中加入数据。
2. 从列表中删除数据。如果数据不存在,则不做任何处理。
3. 在列表升序排序后,输出指定数据所在的位置(从 1 开始计数)。
4. 在列表升序排序后,输出指定位置(从 1 开始计数)的数据。
输入格式
输入由多行组成,每行代表一个查询,格式如下:
- **1 n**:将数字 **n** 插入列表中($0 \le n \le 2^{31} - 1$)。
- **2 n**:从列表中删除数字 **n**。如果 **n** 不存在,则忽略此操作。
- **3 n**:输出数字 **n** 在升序排序后列表中的位置(从 1 开始计数)。如果 **n** 不存在,则输出 -1。
- **4 i**:输出升序排序后的列表中第 **i** 个位置的数据(从 1 开始计数)($0 \le i \le 2^{31} - 1$)。如果索引超出范围,则输出 -1。
- 输入以 **-1** 结束,不再进行任何查询操作。
输出格式
对于每个类型 3 的查询,输出升序排序后列表中 **n** 的位置。如果 **n** 不存在,输出 -1。
对于每个类型 4 的查询,输出排序后列表中第 **i** 个位置的数据。如果索引无效,输出 -1。
**本翻译由 AI 自动生成**