#aBC356g. [ABC356G] Freestyle
[ABC356G] Freestyle
AT_abc356_g [ABC356G] Freestyle
题目描述
高桥可以游出 种不同的风格。
当他用第 式游泳时,每秒消耗 体力,每秒前进 米。
回答 个问题。 第 次查询如下:
- 判断是否有可能在总体力消耗不超过 的情况下前进 米。如果可能,请找出所需的最少秒数。
在这里,他可以自由组合不同的泳姿,切换泳姿的时间可以忽略不计。
具体来说,他可以使用以下步骤游泳:
- 选择一个正整数 ,一个长度为 的正实数序列 ,以及一个长度为 的整数序列 ,其中每个元素都介于 和 之间(含)。
- 然后,按照 的顺序,以第 的方式游 秒。
输入格式
输入内容由标准输入法提供,格式如下
输出格式
共输出 行。
对于第 次查询,在第 行输出答案如下:
- 如果不可能前进 米,同时保持体力消耗总量不超过 ,则输出
-1。 - 否则,输出所需的最短时间。如果输出值与真实答案之间的绝对或相对误差不超过 ,则认为输出正确。
输入输出样例 #1
输入 #1
4
1 2
2 3
3 3
4 4
5
4 7
7 7
49 100
1000 500
4 5
输出 #1
3.000000000000000000
1.750000000000000000
-1
125.000000000000000000
1.500000000000000000
说明/提示
限制因素
- 所有输入值均为整数。
样例 说明
在此输入中,高桥可以用以下四种方式游泳:
- 消耗 体力,每秒前进 米。
- 消耗 体力,每秒前进 米。
- 消耗 体力,每秒前进 米。
- 消耗 体力,每秒前进 米。
此输入包含五个查询。
- 第一个查询, 。
- 选择 和 。高桥游泳的过程如下:
- 在前 秒,他消耗了 体力,前进了 米。
- 接下来的 秒,他消耗了 体力,前进了 米。
- 他总共消耗了 体力,前进了 米。所需的时间为 秒,这是最小值。
- 选择 和 。高桥游泳的过程如下:
- 第二个查询, 。
- 选择 和 。高桥游程如下:
- 在最初的 秒内,他消耗了 体力,前进了 米。
- 他总共消耗了 体力,前进了 米。所需的时间为 秒,这是最小值。
- 选择 和 。高桥游程如下:
- 第三个查询, 。
- 无论高桥如何游泳,都不可能在总体力消耗不超过 的情况下前进 米。
- 第四个查询, 。
- 选择 和 。高桥游泳的情况如下:
- 在前 秒,他消耗了 体力,前进了 米。
- 他总共消耗了 体力,前进了 米。所需的时间为 秒,这是最小值。
- 选择 和 。高桥游泳的情况如下:
- 第五个查询, 。
- 选择 和 。高桥游程如下:
- 在前 秒,他消耗了 体力,前进了 米。
- 在接下来的 秒内,他消耗了 点体力,前进了 米。
- 他总共消耗了 体力,前进了 米。所需的时间为 秒,这是最短时间。
- 选择 和 。高桥游程如下: