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