3358: 简单的区间最值查询(hard)

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:22 解决:5

题目描述

平面上有n个互不相同的点,每个点都有一个坐标(x_i,y_i)
现在有m个询问,每次询问都会给出一个k,你需要输出在直线y=k上或者以下的点中,最右边的点(x坐标最大),如果同时存在多个最右边的点,你需要输出其中最上边的点(y坐标最大)

输入

输入第一行两个整数n(1<=n<=1e5),代表点数,m(1<=m<=1e5),代表询问个数
接下来n行,每行两个整数x_i,y_i,代表一个点的坐标(x_i,y_i在4字节int可以表示的范围内)
接下来m行,每行一个整数k(k在4字节int可以表示的范围内)

    

输出

对于每次询问输出一行,若存在符合条件的点则输出该点坐标,否则输出-1

    

样例输入 复制

5 5
2 1
1 0
1 3
2 4
0 1
4
2
1
0
3

样例输出 复制

2 4
2 1
2 1
1 0
2 1

来源/分类