#P2743. Mobile Computing

Mobile Computing

题目描述

在名为Yaen的神秘星球上,空间是二维的。星球上有许多美丽的石头,Yaen人喜欢收集它们。他们将石头带回家,制作成漂亮的悬挂艺术品来装饰他们的二维客厅。

在他们的二维世界中,悬挂艺术品的定义如下:

  1. 用一根绳子悬挂一块石头,或者
  2. 一根长度为11的杆子,两端各悬挂一个子艺术品;杆子通过子艺术品的重心悬挂。当两个子艺术品的重量分别为nnmm,且它们到重心的距离分别为aabb时,满足方程na=mbn \cdot a = m \cdot b

例如,如果你有三块重量分别为111122的石头,以下是一些可能的悬挂艺术品及其宽度:

给定石头的重量和房间的宽度,你的任务是设计一个尽可能宽的悬挂艺术品,满足以下两个条件:

  • 使用所有的石头。
  • 其宽度小于房间的宽度。

石头的宽度可以忽略不计。

在某些情况下,悬挂在杆子两端的两个子艺术品可能会重叠

(例如右图所示)。这样的悬挂艺术品是可以接受的。示例中的宽度为(1/3)+1+(1/4)(1/3) + 1 + (1/4)

输入格式

输入的第一行给出数据集的数量。随后是相应数量的数据集。每个数据集的格式如下:

r
s
w1 ... ws

其中:

  • rr 是一个十进制小数,表示房间的宽度,满足0<r<100 < r < 10
  • ss 是石头的数量,假设1s61 \leq s \leq 6
  • wiw_i 是第ii块石头的重量,是一个整数,假设1wi10001 \leq w_i \leq 1000

可以假设给定的石头无法制作出宽度在r0.00001r - 0.00001r+0.00001r + 0.00001之间的悬挂艺术品。

输出格式

对于每个数据集,输出一行包含一个十进制小数,表示满足条件的最大悬挂艺术品的宽度。如果没有任何悬挂艺术品满足要求,则输出1-1

输出行不应包含多余字符(如空格)。

答案的误差不应超过0.000000010.00000001。可以输出任意多的小数位数,只要满足上述精度条件即可。

示例输入与输出

输入数据 1

5
1.3
3
1
2
1
1.4
3
1
2
1
2.0
3
1
2
1
1.59
4
2
1
1
3
1.7143
4
1
2
3
5

输出数据 1

-1
1.3333333333333335
1.6666666666666667
1.5833333333333335
1.7142857142857142

来源

Japan 2005