Codeforces Round 250 (Div. 1)
B
The Child and Zoo
Codeforces
未评级
原题
← AC →
翻译中…

Of course our child likes walking in a zoo. The zoo has $*n*$ areas, that are numbered from $1$ to $*n*$. The $*i*$-th area contains $*a*_{*i*}$ animals in it. Also there are $*m*$ roads in the zoo, and each road connects two distinct areas. Naturally the zoo is connected, so you can reach any area of the zoo from any other area using the roads.

翻译中…

Our child is very smart. Imagine the child want to go from area $*p*$ to area $*q*$. Firstly he considers all the simple routes from $*p*$ to $*q*$. For each route the child writes down the number, that is equal to the minimum number of animals among the route areas. Let's denote the largest of the written numbers as $*f*(*p*, *q*)$. Finally, the child chooses one of the routes for which he writes down the value $*f*(*p*, *q*)$.

翻译中…

After the child has visited the zoo, he thinks about the question: what is the average value of $*f*(*p*, *q*)$ for all pairs $*p*, *q*$ $(*p* ≠ *q*)$? Can you answer his question?

翻译中…

Input

翻译中…

The first line contains two integers $*n*$ and $*m*$ ($2 ≤ *n* ≤ 10^{5}$; $0 ≤ *m* ≤ 10^{5}$). The second line contains $*n*$ integers: $*a*_{1}, *a*_{2}, ..., *a*_{*n*}$ ($0 ≤ *a*_{*i*} ≤ 10^{5}$). Then follow $*m*$ lines, each line contains two integers $*x*_{*i*}$ and $*y*_{*i*}$ ($1 ≤ *x*_{*i*}, *y*_{*i*} ≤ *n*$; $*x*_{*i*} ≠ *y*_{*i*}$), denoting the road between areas $*x*_{*i*}$ and $*y*_{*i*}$.

翻译中…

All roads are bidirectional, each pair of areas is connected by at most one road.

翻译中…

Output

翻译中…

Output a real number — the value of image.

翻译中…

The answer will be considered correct if its relative or absolute error doesn't exceed $10^{ - 4}$.

翻译中…

Note

翻译中…

Consider the first sample. There are $12$ possible situations:

翻译中…
  • $*p* = 1, *q* = 3, *f*(*p*, *q*) = 10$.
  • $*p* = 2, *q* = 3, *f*(*p*, *q*) = 20$.
  • $*p* = 4, *q* = 3, *f*(*p*, *q*) = 30$.
  • $*p* = 1, *q* = 2, *f*(*p*, *q*) = 10$.
  • $*p* = 2, *q* = 4, *f*(*p*, *q*) = 20$.
  • $*p* = 4, *q* = 1, *f*(*p*, *q*) = 10$.
翻译中…

Another $6$ cases are symmetrical to the above. The average is image.

翻译中…

Consider the second sample. There are $6$ possible situations:

翻译中…
  • $*p* = 1, *q* = 2, *f*(*p*, *q*) = 10$.
  • $*p* = 2, *q* = 3, *f*(*p*, *q*) = 20$.
  • $*p* = 1, *q* = 3, *f*(*p*, *q*) = 10$.
翻译中…

Another $3$ cases are symmetrical to the above. The average is image.

翻译中…

样例

Input #1
4 3
10 20 30 40
1 3
2 3
4 3
Output #1
16.666667
InputCopy OutputCopy
Input #2
3 3
10 20 30
1 2
2 3
3 1
Output #2
13.333333
InputCopy OutputCopy
Input #3
7 8
40 20 10 30 20 50 40
1 2
2 3
3 4
4 5
5 6
6 7
1 4
5 7
Output #3
18.571429
InputCopy OutputCopy
题目信息
题号
438B
时间限制
2 s
内存限制
256 MB

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。