#ATagc020f. [AGC020F] Arcs on a Circle

[AGC020F] Arcs on a Circle

题目描述

有一个长度为 CC 的圆周,在这个圆周上放置 NN 条圆弧。第 ii 条圆弧的长度为 LiL_i

每条圆弧 ii 都被独立地、以均匀概率,随机地放在圆周上的某个位置。也就是说,从圆周上的一个随机点出发,以该点为起点,出现一个长度为 LiL_i 的圆弧。

这些圆弧的放置是相互独立的。例如,圆弧之间可以有重叠、交叉,甚至可以包含其他圆弧。

问:圆周上的所有点都至少被一条圆弧覆盖的概率是多少?圆弧的两端也算作被覆盖。

输入格式

输入通过标准输入给出,格式如下:

NN CC L1L_1 L2L_2 ...... LNL_N

输出格式

输出圆周上的所有点都至少被一条圆弧覆盖的概率。只要你的答案的绝对误差不超过 101110^{-11},就认为是正确答案。

样例 1

输入

2 3
2 2

输出

0.3333333333333333

样例 2

输入

4 10
1 2 3 4

输出

0.0000000000000000

样例 3

输入

4 2
1 1 1 1

输出

0.5000000000000000

样例 4

输入

3 5
2 2 4

输出

0.4000000000000000

样例 5

输入

4 6
4 1 3 2

输出

0.3148148148148148

样例 6

输入

6 49
22 13 27 8 2 19

输出

0.2832340720702695

说明/提示

限制条件

  • 2N62 \leq N \leq 6
  • 2C502 \leq C \leq 50
  • 1Li<C1 \leq L_i < C
  • 所有输入值均为整数

样例解释 1

两条圆弧的起始点之间的距离必须至少为 11。在长度为 33 的圆周上,这种情况出现的概率为 1/31/3

样例解释 2

所有圆弧长度之和恰好等于 CC。虽然有可能恰好覆盖整个圆周,但这种事件的概率正好为 00

由 ChatGPT 5 翻译