1709 放气球
Submit solution
Points:
100
Time limit:
1.0s
Memory limit:
32M
Problem types
Allowed languages
C, C++, Java, Python
Description
大家都知道ACM比赛的时候都是要发气球的,所以一般赛前都要准备很多气球放到一张长方形桌子上。现在已知准备要吹n只气球,气球可能大小不同但一定是圆形。然后一个一个按题目所给顺序依次放到一张宽为w的桌子上,每次放的时候,先尽可能靠向长为w的底边,再尽可能向左。为了使题目更加简单,可以把所有球看作为二维,只要球的重心在桌上则就算放在桌子上。
问这张桌子至少要多长才能把所有气球都放在桌子上。
Input
包含多组测试数据。每组数据先输入两个整数w,n(n<=30),然后输入n个整数d1,d2, … ,dn表示n个气球的直径。
Output
对于每组数据 输出桌子最小应该多少长才能放下所有气球,保留两位小数。
Sample
Input
1 3 5 2 3
3 2 5 5
5 3 10 2 4
9 3 4 4 6
10 6 5 4 6 3 5 2
Output
5.65
4.00
5.99
0.00
4.52
Source: xenocide
Comments