QOJ.ac

QOJ

実行時間制限: 2.0 s メモリ制限: 512 MB 満点: 100

#11754. 三角形游戏

統計

Alaa 怀念她童年时玩的一种拼搭玩具。它由可以在两端固定的线段组成。她喜欢玩的一个游戏是:首先将一条线段作为底边,平放在笔直的墙壁上。然后,她不断地添加三角形,其中新三角形的一条边是结构中已有的线段,另外两条边是新添加的线段。

她只添加真正的三角形:即任意两边之和永远不等于第三边。当然,线段不能穿过墙壁,但她允许新添加的线段与已有的线段交叉。她的目标是观察她的结构能延伸到距离墙壁多远的地方。她会尝试用部分或全部线段的不同组合来构建各种结构。如果她使用的所有线段长度都相同,那将是一项简单而无聊的任务!如果她走向另一个极端,从一组长度各不相同的线段开始,情况就会变得更有趣。例如,下图展示了她可以用长度为 42, 40, 32, 30, 25, 18 和 15 的线段构建的一些结构,其中包括一个距离墙壁最远可达 66.9495 的结构。

距离:29.4619634 (a) 距离:42.3374133 (b) 距离:66.9495287 (c)

现在,作为一名计算机科学专业的学生,回首往事,Alaa 想知道她当时做得有多好,因此她决定编写一个程序,根据给定的一组线段长度计算出最大距离。

输入格式

输入为一行正整数。第一个整数 $n$ 表示线段的数量,满足 $3 \le n \le 9$。随后的 $n$ 个整数 $l_1 > l_2 > \dots > l_n$ 表示线段的长度,满足对于所有 $j$ 都有 $1 \le l_j \le 99$。这些长度保证至少可以构成一个三角形。

输出格式

输出 Alaa 的结构能够达到的最大距离,要求相对误差或绝对误差不超过 $10^{-2}$。

输入数据经过选择,使得任何达到最大距离的结构,其除底边顶点外的所有顶点距离墙壁至少 $0.0001$。

样例

样例输入 1

3 50 40 30

样例输出 1

40

样例输入 2

4 50 40 30 29

样例输出 2

40

样例输入 3

7 42 40 32 30 25 18 15

样例输出 3

66.949528

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.