#CF19D. Points
Points
题目描述
Pete 和 Bob 发明了一个有趣的新游戏。Bob 拿出一张纸,并在上面建立一个直角坐标系:点 位于纸张的左下角, 轴向右, 轴向上。Pete 会给 Bob 三种类型的请求:
add x y—— Bob 在纸上标记一个坐标为 的点。对于每个此类型的请求,保证在该请求时 还没有被标记。remove x y—— Bob 擦除之前已经标记的坐标为 的点。对于每个此类型的请求,保证在该请求时 已经被标记。find x y—— Bob 在纸上找到所有位于点 右上方,即横坐标严格大于 且纵坐标严格大于 的所有已标记点。在这些点中,Bob 选择横坐标最小的那个;如果有多个横坐标最小的点,则选择其中纵坐标最小的那个,并将其坐标告诉 Pete。
当请求数是 、 或 时,Bob 还能应付,但当请求数增长到 时,Bob 就力不从心了。现在他需要一个程序来帮助他回答所有 Pete 的请求。请你帮助 Bob 完成这个任务!
输入格式
输入的第一行包含一个整数 ,表示请求的数量。接下来的 行,每行描述一个请求。add x y 表示添加一个点,remove x y 表示删除一个点,find x y 表示查询当前所有被标记的点中严格位于 右上方的点中,横坐标最小(若有多个取纵坐标最小)的点的坐标。
所有给定的坐标都是非负数,且不超过 。
输出格式
对于每个 find x y 类型的请求,输出一行答案——即满足条件的点的坐标。如果不存在这样的点,输出 -1。
输入输出样例 #1
输入 #1
7
add 1 1
add 3 4
find 0 0
remove 1 1
find 0 0
add 1 1
find 0 0
输出 #1
1 1
3 4
1 1
输入输出样例 #2
输入 #2
13
add 5 5
add 5 6
add 5 7
add 6 5
add 6 6
add 6 7
add 7 5
add 7 6
add 7 7
find 6 6
remove 7 7
find 6 6
find 4 4
输出 #2
7 7
-1
5 5
说明/提示
由 ChatGPT 5 翻译