5047 - 区间移位

通过次数

0

提交次数

0

时间限制 : 1 秒
内存限制 : 256 MB

数轴上有n个闭区间D1,…,Dn。其中区间Di用一对整数[aibi]来描述,满足ai < bi。已知这些区间的长度之和至少有10000。所以,通过适当的移动这些区间,你总可以使得他们的“并”覆盖[0, 10000]——也就是说[0, 10000]这个区间内的每一个点都落于至少一个区间内。
  你希望找一个移动方法,使得位移差最大的那个区间的位移量最小。
  具体来说,假设你将Di移动到[ai+cibi+ci]这个位置。你希望使得maxi |ci|  最小。

输入

 输入的第一行包含一个整数n,表示区间的数量。
  接下来有n行,每行2个整数ai,  bi,以一个空格分开,表示区间[aibi]。保证区间的长度之和至少是10000。

输出

 输出一个数,表示答案。如果答案是整数,只输出整数部分。如果答案不是整数,输出时四舍五入保留一位小数。

样例

输入

2
10 5010
4980 9980

输出

20

输入

4
0 4000
3000 5000
5001 8000
7000 10000

输出

0.5

提示

样例说明一

  第一个区间往左移动10;第二个区间往右移动20。

样例说明二

  第2个区间往右移0.5;第3个区间往左移0.5即可。

数据规模和约定

  对于30%的评测用例,1 ≤n≤ 10;
  对于100%的评测用例,1 ≤n≤ 10000,0 ≤ai < bi  ≤ 10000。

来源

蓝桥杯