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;
}