#include
"rwfile.h"
#include
<iostream>
#include < string
>
#include
<vector>
#include
<algorithm>
using
namespace
std;
//升序比较
bool
sortvec(const
int
t1, const
int
t2)
{
return
t1 < t2;
}
double
greedy(vector<int>
vec,int n)
{
int
mid = (n - 1) / 2;
vector<int>
vec_ans(n, 0);
vec_ans[mid] = vec[n - 1];
for
(int
i = mid + 1; i < n; ++i){
vec_ans[i] = vec[n - 2 * ( i-mid)];
}
for
(int
i = mid - 1; i >= 0; --i){
vec_ans[i] = vec[n - 2 * (mid - i) - 1];
}
double
sum = 0, exp = 0;
for
(int
i = 0; i < n; ++i){
sum
+= vec[i];
for
(int
j = i + 1; j < n; ++j){
exp
+= vec_ans[i] * vec_ans[j] * (j - i);
}
}
return
exp / sum / sum;
}
int
main()
{
vector<int>vec;
string input, output;
input = "input.txt";
output = "output.txt";
int
n= readfile(input, vec);
sort(vec.begin(), vec.end(),sortvec);
double
ans=greedy(vec, n);
writefile(output,ans);
system("pause");
return
0;
}