#L2582. 「SHOI2011」直线拟合

「SHOI2011」直线拟合

题目描述

平面上有 n n 个点 vi(xi,yi)v_i(x_i, y_i) 。求 D(l)= D(l) = max1inmax_{1 \le i \le n} dis(vi,l){dis}(v_i, l)的最小可能值,其中变量 l l 是平面上的一条直线,函数 dis(vi,l) \text{dis}(v_i, l) 表示直线 l l 与点 vi v_i 之间的距离。

输入格式

第一行为一个正整数 n n 。接下来 n n 行,每行一对整数 xi,yi x_i, y_i ,用空格分隔,依次表示 n n 个点的坐标。其中 xi,yi108 |x_i|, |y_i| \le 10^8 ,且所有点均不重合。

输出格式

输出一个实数,表示 D(l) D(l) 的最小值,四舍五入到小数点后两位。

样例

样例 1
输入:

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

输出:

1.00  

说明:最优直线为 y=1 y = 1 ,此时所有点到直线的最大距离为 1 1

样例 2
输入:

6  
-2 -1  
-1 2  
1 2  
2 3  
3 3  
4 4  

输出:

0.86  

数据范围与提示

数据编号 数据限制
1 n=3 n = 3
2~4 3n100 3 \le n \le 100
5~7 100<n105100 < n \le 10^5 ,点沿某线段附近随机生成
8~10 3<n105 3 < n \le 10^5