C1152 - 合并生物

题目描述

我们的化学生物学家发明了一种非常有用的新生命形式,称为条纹生物(Stripies)。条纹生物是透明、无定形、类似变形虫的生物体,它们生活在果冻状的营养介质中,形成平坦的群落。大多数时候,条纹生物是移动的。当两个条纹生物相撞时,它们会消失,取而代之的是一个新的条纹生物。通过科学家们的长期观察,他们发现新条纹生物的重量并不等于相撞的两个条纹生物的重量之和;然而,他们很快发现,当两个重量分别为 $m_1$ 和 $m_2$ 的条纹生物相撞时,新条纹生物的重量等于 $2 \times \sqrt{m_1 \times m_2}$。我们的化学生物学家迫切想知道给定条纹生物群落的总重量可以减少到什么程度。

你需要编写一个程序,帮助他们回答这个问题。可以假设不会有三个或更多条纹生物同时相撞。

输入格式

输入的第一行包含一个整数 $N$,($1 \leq N \leq 100$),表示群落中条纹生物的数量。接下来的 $N$ 行中,每行包含一个整数,范围为 1 到 10000,表示对应条纹生物的重量。

输出格式

输出必须包含一行,表示群落的最小可能总重量,保留小数点后三位。

样例 #1

样例输入 #1

3
72
30
50

样例输出 #1

120.000

测试点数目

共10个测试点,每个测试点10分

时间与内存限制

每个测试点时间:1000ms(1.0s),内存:256MiB

输入输出模式

本OJ支持两种输入输出模式

1. 标准输入输出模式:
直接从标准输入和标准输出读写数据,不需要使用freopen进行文件输入输出重定向
2. 文件输入输出模式(国内信奥赛输入输出模式):
从文件中读写数据,需要使用freopen进行输入输出重定向
本题输入文件名为:C1152.in,输出文件名为:C1152.out