最近,Byton 对描述如何教计算机识别数据模式并从中得出结论的科学产生了兴趣——即机器学习。
在他的研究过程中,他需要探究某个复杂函数 $f$ 的性质。他在若干点 $x_1, x_2, \dots, x_n$ 处计算了该函数的值,得到了结果 $y_1, y_2, \dots, y_n$。
他希望用某个连续函数 $g$ 来近似 $f$,该函数由两段线性部分组成;形式上,对于某个 $x \in \mathbb{R}$,$g$ 在参数小于 $x$ 时是线性的,在参数大于 $x$ 时也是线性的。
Byton 希望实现对 $f$ 的精确近似。他想要最小化均方误差:
$$\frac{1}{n} \sum_{i=1}^{n} (y_i - g(x_i))^2$$
输入格式
输入的第一行包含一个整数 $n$ ($1 \le n \le 100\,000$)。接下来的 $n$ 行,每行包含两个整数 $x_i, y_i$ ($0 \le x_i \le 1\,000\,000, 0 \le y_i \le 1000$)。所有的 $x_i$ 互不相同。
输出格式
输出一个实数,表示他所能达到的最小均方误差。如果你的答案的绝对误差不超过 $1$,则会被接受。
样例
输入格式 1
5 0 1 2 0 1 3 4 4 3 2
输出格式 1
0.8333333333333
说明
在第一个样例中,最优均方误差为 $\frac{5}{6}$。你可以通过在左侧固定线性函数 $-\frac{x}{2} + \frac{11}{6}$,在右侧固定线性函数 $2x - 4$ 来得到该结果。
输入格式 2
7 0 0 1 1 2 2 3 4 4 2 5 1 6 0
输出格式 2
0.0659340659341
说明
在第二个样例中,最小均方误差为 $\frac{6}{91}$。该函数可以由直线 $\frac{16}{13}x - \frac{2}{13}$ 和 $-\frac{16}{13}x + \frac{94}{13}$ 构成。