CHDOJ
首页
题库
题单
比赛
评测
用户
讨论
帮助
工具
云剪贴板
树图画板
代码对比
登录
注册
4370: Schoolbag的求助
时间限制:1000 ms
内存限制:128 MB
上传者:
提交:6
通过:4
提交
提交记录
讨论
统计
题目描述
Schoolbag 想请你帮忙实现一种数据结构来维护一些数,该数据结构需要实现以下操作:
1 $x$ 插入一个数 $x$
2 $x$ 删除一个数 $x$
3 $x$ 查询 $x$ 是否存在于序列之中,是则返回 $1$,否则返回 $0$
4 $x$ 查询 $x$ 的前驱
5 $x$ 查询 $x$ 的后继
6 查询序列中元素个数
一些定义:
一个数的前驱:
数据值小于 $x$,且与 $x$ 数值最接近的数
一个数的后继:
数据值大于 $x$,且与 $x$ 数值最接近的数
输入格式
第一行一个数 $n$,表示有 $n$ 个操作。
接下来 $n$ 行,每行第一个数 $opt$,表示操作类型
若 $opt$ 为 1,则需要读入第二个数 $x$,表示要
插入
的数
若 $opt$ 为 2,则需要读入第二个数 $x$,表示要
删除
的数
若 $opt$ 为 3,则需要读入第二个数 $x$,表示要
查询
的数
若 $opt$ 为 4,则需要读入第二个数 $x$,表示要
查询
的数
若 $opt$ 为 5,则需要读入第二个数 $x$,表示要
查询
的数
输出格式
若 $opt$ 为 3,则需要输出一行一个整数 $x$,表示查询的数
是否存在于序列中
若 $opt$ 为 4,则需要输出一行一个整数 $x$,表示要查询的数的
前驱,
没有则需要输出 -1
若 $opt$ 为 5,则需要输出一行一个整数 $x$,表示要查询的数的
后继,
没有则需要输出 -1
若 $opt$ 为 6,则需要输出一行一个整数 $x$,表示序列中
元素个数
输入样例
复制
8 1 1 1 2 1 3 3 2 3 4 4 2 5 2 6 2 2
输出样例
复制
1 0 1 3 3
数据范围与提示