题目描述
题目描述
考虑 轴上的点组成的集合 ,你需要写一个数据结构,支持以下操作:
(1)+ x:添加一个坐标为 的点到集合 中。
(2)- n:删除第 次添加的点,添加操作按顺序从 1 编号,其他操作不参与计数。
(3)? x:计算 集合中,与 的距离最大的点的距离,保证询问时,集合 中,至少有一个点。
两个点 和 的距离等于坐标之差的绝对值:。
输入描述
第 1 行,1 个正整数 ,表示操作的总数。
接下来 行,每行包含一条操作。
输出描述
对每个询问操作,输出最大的距离。
样例 1
5
+ 8
+ -1
? 5
- 2
? -100
6
108
样例 2
6
+ 5
? 2
+ 999999999
+ -3
- 2
? 2
3
5
样例 3
10
+ 6
? -6
- 1
+ 6
+ 9
- 1
? 8
? -3
- 2
+ -3
12
2
12
说明提示
样例 1 说明:
第 1、2 行向 中添加了两个点:8,。
第 3 行询问 中点与 5 的最大距离: 和 5 的距离等于 ,是最大的。
第 4 行删除第 2 次添加操作添加的点, 中只剩下 1 个点:8。
第 5 行询问 中点与 的最大距离:8 和 的距离等于 ,是最大的。
样例 2 说明:
第 1 行向 中添加了 1 个点:5。
第 2 行询问 中点与 2 的最大距离:5 和 2 的距离等于 ,是最大的。
第 3、4 行向 中添加了 2 个点:999999999,。
第 5 行删除第 2 次添加操作添加的点 999999999, 中剩下 2 个点:5,。
第 6 行询问 中点与 2 的最大距离: 和 2 的距离等于 ,是最大的。
数据范围
。
。
添加操作次数。