编程题
区间移位
### 题目描述
数轴上有 $n$ 个闭区间:$D_1,\cdots D_n$ 。
其中区间 $D_i$ 用一对整数 $[a_i, b_i]$ 来描述,满足 $a_i \leq b_i$。
已知这些区间的长度之和至少有 $10^4$。
所以,通过适当的移动这些区间,你总可以使得他们的"并"覆盖 $[0,10^4]$,也就是说 $[0,10^4]$ 这个区间内的每一个点都落于至少一个区间内。
你希望找一个移动方法,使得位移差最大的那个区间的位移量最小。
具体来说,假设你将 $D_i$ 移动到 $[a_i+c_i,b_i+c_i]$这个位置。你希望使得 $\max \{|c_i|\}$ 最小。
### 输入描述
输入的第一行包含一个整数 $n$ ,表示区间的数量。
接下来有 $n$ 行,每行 2 个整数 $a_i,b_i$ ,以一个空格分开,表示区间 $[a_i, b_i]$。
保证区间的长度之和至少是 $10^4$。
其中,$1 \leq n \leq 10^4,0 \leq a_i < b_i \leq 10^4$。
### 输出描述
输出一个数字,表示答案。如果答案是整数,只输出整数部分。如果答案不是整数,输出时四舍五入保留一位小数。
### 输入输出样例
#### 示例 1
> 输入
```txt
2
10 5010
4980 9980
```
> 输出
```txt
20
```
> 样例说明
第一个区间往左移动 10;第二个区间往右移动 20。
#### 示例 2
> 输入
```txt
2
4
0 4000
3000 5000
5001 8000
7000 10000
```
> 输出
```txt
0.5
```
> 样例说明
第 2 个区间往右移 0.5;第 3 个区间往左移 0.5 即可。