(贪心5.2.5)POJ 1862 Stripies(利用数据有序化回进行贪心选择)

(贪心5.2.5)POJ 1862 Stripies(利用数据有序化来进行贪心选择)
/*
 * POJ_1862.cpp
 *
 *  Created on: 2013年10月11日
 *      Author: Administrator
 */

#include <iostream>
#include <queue>
#include <cstdio>
#include <cmath>
using namespace std;


int main(){
	int n;
	scanf("%d",&n);

	priority_queue<double> q;
	int i;
	for(i = 0 ; i < n ; ++i){
		int x;
		scanf("%d",&x);
		q.push(x);
	}

	for(i = 1 ; i < n ; ++i){
		double a = q.top();
		q.pop();
		double b = q.top();
		q.pop();

		double c = 2*sqrt(a*b);
		q.push(c);
	}

	printf("%.3lf\n",q.top());
}