1. 程式人生 > >A - 奇怪的玩意

A - 奇怪的玩意

stdio.h 生命 clas 我們 pre 數量 會有 透明 %0

我們的化學生物學家發明了一種新的叫stripies非常神奇的生命。該stripies是透明的無定形變形蟲似的生物,生活在果凍狀的營養培養基平板菌落。大部分的時間stripies在移動。當他們兩個碰撞,會有新stripie生成,而舊的不見了。經過長期研究,他們發現新stripies的體重不等於消失的stripies的體重,而是:如果一個質量為m1和m2的stripies相撞,生成的stripies體重是2*sqrt(m1*m2) 現在,科學家們想知道,如果stripies兩兩碰撞至只剩一個,則這一個的最小質量是多少?

Input

第一行輸入 N (1 <= N <= 100) :stripies的數量. 接下來的 N 行是stripies的質量(1<=m<=10000)

Output

輸出最小質量。保留至小數點後三位

Sample Input

3
72
30
50

Sample Output

120.000

#include<iostream>
#include<queue>
#include<math.h>
#include<stdio.h>
using namespace std;
int main()
{
int i,n;
float ans,x1,x2,k;
priority_queue<float,vector<float> >pq; / /最大優先隊列列
cin >>n;
for (i=0;i<n;i++)
{
cin>>k;
pq.push(k);
}
while (pq.size()!=1)

//從第二個開始這樣定義
{ x1=pq.top();pq.pop();
x2=pq.top();pq.pop();
ans=2*sqrt(x1*x2);
pq.push(ans);
}
printf("%0.3f",pq.top());
return 0;
}

A - 奇怪的玩意