编程题
序列维护 ### 题目描述 请你编写一个程序来维护一个序列,使得该程序可以支持以下操作: + 向序列的末尾插入一个数 $x$ + 从序列中删除数 $x$(若 $x$ 有多个,则只删除靠前的第一个) + 查询数 $x$​ 在序列中的大小排名(即序列中比 $x$​ 小的数 $+1$​) + 查询排名为 $x$ 的数 + 求 $x$​ 的前驱(序列中小于 $x$ 的最大数) + 求 $x$ 的后继(序列中大于 $x$ 的最小数) ### 输入描述 输入第一行包含一个整数 $n$,表示操作的个数。 接下来一行每行包含两个整数 $op,x$,表示一组操作: + $op=1$,向序列的末尾插入一个数 $x$ + $op=2$,从序列中删除数 $x$(若 $x$ 有多个,则只删除靠前的第一个) + $op=3$​​,查询数 $x$​​ 在序列中的大小排名(即序列中比 $x$​​ 小的数 $+1$​​) + $op=4$,查询排名为 $x$ 的数 + $op=5$​​,求 $x$​​ 的前驱(序列中小于 $x$​​ 的最大数) + $op=6$​​,求 $x$​​ 的后继(序列中大于 $x$​​​ 的最小数) $1\leq n \leq 10^5, -10^7\leq x \leq 10^7$​。 ### 输出描述 对于 $op=3,4,5,6$ 的操作,输出一行,表示答案。 ### 输入输出样例 #### 示例 1 >输入 ```txt 10 1 1 4 1 1 2 1 3 1 4 1 5 1 6 6 3 1 8 5 9 ``` >输出 ```txt 1 4 8 ```
查看答案
赣ICP备20007335号-2