066 - Various Arrays(★5)
Editorial
/
Time Limit: 2 sec / Memory Limit: 1024 MB
配点: 5 点
問題文
数列屋の高橋くんは長さ N の数列 a を作っています。数列 a の i 番目の要素 a_i の値は、L_i 以上 R_i 以下の 整数 から一様ランダムに選ぶことで決定されます。
このようにしてできた数列 a の転倒数の期待値を求めてください。
なお、長さ m の数列 x の「転倒数」とは、i < j かつ x_i > x_j であるような (i, j) (1 \leq i, j \leq m) の個数のことです。
制約
- 1 \leq N \leq 100
- 1 \leq L_i \leq R_i \leq 100 (1 \leq i \leq N)
- 入力は全て整数で与えられる
入力
入力は以下の形式で標準入力から与えられます。
N L_1 R_1 \vdots L_N R_N
出力
答えを出力してください。ただし、相対誤差または絶対誤差が 10^{-7} 以下であれば正解として扱われます。
入力例 1
2 1 2 1 2
出力例 1
0.250000000000
数列 a としてあり得るものは以下の 4 通りです。
- a = (1, 1), 転倒数 0
- a = (1, 2), 転倒数 0
- a = (2, 1), 転倒数 1
- a = (2, 2), 転倒数 0
よって、期待値は \frac{1}{4} = 0.25 となります。
入力例 2
3 3 3 1 1 4 4
出力例 2
1.000000000000
数列 a としてあり得るものは a = (3, 1, 4) のみであり、この数列の転倒数は 1 です。
入力例 3
10 1 10 38 40 8 87 2 9 75 100 45 50 89 92 27 77 23 88 62 81
出力例 3
13.696758921226