#include <bits/stdc++.h>
using namespace std;
int t,n;
int main()
{
int t;
cin>>t;
while(t--){
int a[(int)1e5+10]={0},f[(int)1e5+10]={0};
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
sort(a,a+n);
for(int i=0;i<n;i++){
if(i==0){f[i]=a[i];}
else f[i]=f[i-1]+a[i];
}
double mx=-(int)(2e9);
for(int i=0;i<n-1;i++){
double mx2=(double)f[i]/(double)(i+1) + (double)(f[n-1]-f[i])/(double)(n-i-1);
mx=max(mx,mx2);
}
cout<<fixed<<setprecision(12)<<mx<<endl;
}
return 0;
}
思路是前缀和,卡在了第二个测试点,求各位大佬帮调。