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 自动生成**