POJ 1862
题意
求变形虫合成的最小值,两个变形虫合成的公式为$$m3 = 2*sqrt(m1 * m2)$$
思路
把最大的值先开方.
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <cmath>
using namespace std;
int a[101];
bool cmp(int a,int b){
return a > b;
}
int main(int argc, char const *argv[])
{
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
sort(a,a+n,cmp);
double ans = a[0];
for(int i = 1;i < n;i ++)
ans = 2 * sqrt(ans*a[i]);
printf("%.3f\n",ans);
return 0;
}