#P16518. [Bapc2008]The skatepark's new ramps

[Bapc2008]The skatepark's new ramps

题目背景

当地滑板公园获得了一笔建设资金,计划修建一系列形似山脉的坡道。委员会已经确定了坡道数量,以及每个坡道允许的高度范围,并且要求把全部混凝土都用完。

他们争论的重点是:最高坡道与最低坡道之间的高度差应当尽可能小,还是尽可能大。

题目描述

共有 rr 个坡道。第 ii 个坡道的高度 hih_i 必须满足

lihiti.l_i\le h_i\le t_i.

所有坡道的倾斜程度相同。高度为 hh 的坡道,其水平长度为 4h4h 米。

每个坡道都是宽 11 米的三棱柱,其侧面截面是底边长 4h4h、高 hh 的等腰三角形。因此,一个高度为 hh 的坡道需要的混凝土体积为

12×4h×h×1=2h2.\frac{1}{2}\times 4h\times h\times 1=2h^2.

公园共有 mm 立方米混凝土,必须全部使用,即所选高度满足

i=1r2hi2=m.\sum_{i=1}^{r}2h_i^2=m.

定义这一组坡道的高度差为

maxihiminihi.\max_i h_i-\min_i h_i.

请分别求出在所有合法高度方案中,这个高度差的最小可能值与最大可能值。

题目保证至少存在一种合法方案能够恰好用完所有混凝土。

输入格式

第一行包含一个整数 TT,表示测试用例数量。

对于每个测试用例:

  1. 第一行包含一个整数 rr2r100002\le r\le 10000),表示坡道数量。
  2. 第二行包含一个整数 mm0m2×1080\le m\le 2\times 10^8),表示可用混凝土体积,单位为立方米。
  3. 接下来 rr 行,每行包含两个实数 li,til_i,t_i0.00liti100.000.00\le l_i\le t_i\le 100.00),表示第 ii 个坡道的最小与最大高度。

输入中的高度最多保留两位小数。

输出格式

对于每个测试用例,输出一行两个实数:

  1. 最高坡道与最低坡道高度差的最小可能值;
  2. 最高坡道与最低坡道高度差的最大可能值。

两个结果均四舍五入保留两位小数。

样例输入

1
3
36
1.00 4.00
1.00 4.00
1.00 4.00

样例输出

0.00 3.00

样例中,实现最大高度差的一种方案如下图所示。

样例中高度差最大的坡道方案