5092 - 两条直线
时间限制 : 1 秒
内存限制 : 256 MB
给定平面上n个点。
求两条直线,这两条直线互相垂直,而且它们与x轴的夹角为45度,并且n个点中离这两条直线的曼哈顿距离的最大值最小。
两点之间的曼哈顿距离定义为横坐标的差的绝对值与纵坐标的差的绝对值之和,一个点到两条直线的曼哈顿距离是指该点到两条直线上的所有点的曼哈顿距离中的最小值。
输入
第一行包含一个数n。
接下来n行,每行包含两个整数,表示n个点的坐标(横纵坐标的绝对值小于10^9)。
输出
输出一个值,表示最小的最大曼哈顿距离的值,保留一位小数。
样例
输入
4 1 0 0 1 2 1 1 2
输出
1.0
提示
数据规模与约定:
对于30%的数据,n<=100。
对于另外30%的数据,坐标范的绝对值小于100。
对于100%的数据,n<=10^5。
锦囊1
使用排序算法。
锦囊2
对所有的点按(x+y, x-y)的顺序排序,使用二分答案的方法二分答案的最小值,利用x+y的单调性来快速判断所二分的答案的可行性。
来源
蓝桥杯