[ABC356] G - Freestyle

G - Freestyle

Time Limit: 2 sec / Memory Limit: 1024 MB

分数: 575 分

题面

高桥可以用 种不同的方式游泳。
当他使用第 种方式时,每秒消耗 点体力并且前进 米。

回答 个查询。第 个查询如下:

  • 确定在保持总体消耗不超过 的情况下是否可能前进 米。如果可能,找到所需的最短时间。

这里,他可以自由组合不同的游泳方式,切换方式所需时间可以忽略不计。
具体来说,他可以通过以下步骤游泳:

  • 选择一个正整数 ,一个长度为 的正实数序列 ,和一个长度为 的取值范围在 之间的整数序列
  • 然后,按顺序 在第 种方式中游泳 秒。

限制条件

  • 所有输入值均为整数。

输入

输入以以下格式从标准输入给出:










输出

总共输出 行。
对于第 个查询,在第 行输出答案如下:

  • 如果不可能在保持总体消耗不超过 的情况下前进 米,打印 -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

在这个输入中,高桥可以用以下四种方式游泳:

  • 消耗 点体力并且每秒前进 米。
  • 消耗 点体力并且每秒前进 米。
  • 消耗 点体力并且每秒前进 米。
  • 消耗 点体力并且每秒前进 米。

这个输入包含五个查询。

  • 对于第一个查询,
    • 选择 。高桥游泳如下:
      • 在前两秒,他消耗 点体力并且前进 米。
      • 在接下来的一秒,他消耗 点体力并且前进 米。
    • 总共,他消耗 点体力并且前进 米。所需时间是 秒,这是最短的时间。
  • 对于第二个查询,
    • 选择 。高桥游泳如下:
      • 在前 秒,他消耗 点体力并且前进 米。
    • 总共,他消耗 点体力并且前进 米。所需时间是 秒,这是最短的时间。
  • 对于第三个查询,
    • 无论高桥如何游泳,不可能在保持总体消耗不超过 的情况下前进 米。
  • 对于第四个查询,
    • 选择 。高桥游泳如下:
      • 在前 秒,他消耗 点体力并且前进 米。
    • 总共,他消耗 点体力并且前进 米。所需时间是 秒,这是最短的时间。
  • 对于第五个查询,
    • 选择 。高桥游泳如下:
      • 在前半秒,他消耗 点体力并且前进 米。
      • 在接下来的一秒,他消耗 点体力并且前进 米。
    • 总共,他消耗 点体力并且前进 米。所需时间是 秒,这是最短的时间。
0条搜索结果。