QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 1024 MB Total points: 100

#4702. 挤压圆柱体

Statistics

在堆场平坦的地面上,放置着若干个沉重的金属圆柱体,它们的直径可能不同,但长度相同。这些圆柱体的末端对齐,且轴线方向完全一致。

我们希望尽可能减小它们所占的面积。由于圆柱体太重无法抬起,但滚动它们并不困难,因此我们决定从两侧用两堵高墙挤压这些圆柱体。

你的任务是计算当圆柱体被尽可能挤压时,两堵墙之间的最小可能距离。圆柱体和墙壁可以相互接触。圆柱体不能从地面抬起,因此它们的顺序不能改变。

图 B.1. 两墙之间的圆柱体

输入格式

输入包含一组测试数据。第一行包含一个整数 $N$ ($1 \le N \le 500$),表示圆柱体的数量。第二行包含 $N$ 个不超过 $10,000$ 的正整数,表示从一侧到另一侧圆柱体的半径。

输出格式

输出当两堵墙完全挤压圆柱体时,两墙之间的距离。结果的误差不应超过 $0.0001$。

样例

样例输入 1

2
10 10

样例输出 1

40.00000000

样例输入 2

2
4 12

样例输出 2

29.85640646

样例输入 3

5
1 10 1 10 1

样例输出 3

40.00000000

样例输入 4

3
1 1 1

样例输出 4

6.00000000

样例输入 5

2
5000 10000

样例输出 5

29142.13562373

以下图形对应样例 1、2 和 3。

图 B.2. 样例 1

图 B.3. 样例 2

图 B.4. 样例 3

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.