给定 $n$ 个圆以及两个整数参数 $k$ 和 $\ell$。第 $i$ 个圆的半径为 $r_i$,且对于任意 $1 \leq i < j \leq n$ 满足 $r_i \geq r_j$。任务是在二维平面上绘制这 $n$ 个圆,使得同时满足以下条件。在讨论条件之前,先回顾以下定义:
- 每个圆由其圆心 $O$ 和半径 $r$ 唯一确定。
- 半径为 $r$ 的圆定义为所有到圆心 $O$ 的距离恰好为 $r$ 的点的集合。本题中所有距离均为欧几里得距离。
- 圆的内部区域定义为所有到圆心 $O$ 的距离小于 $r$ 的点的集合。
- 如果圆 $C'$ 的所有点都位于圆 $C$ 的内部区域内,则称圆 $C$ 包含圆 $C'$。
你需要绘制这 $n$ 个圆以满足以下所有条件:
- 所有圆的圆心共线。
- 任意两个圆心之间的距离最多为 $k$。
- 任意两个圆不相交。
- 如果一个圆包含两个圆 $C$ 和 $C'$,则 $C$ 包含 $C'$ 或 $C'$ 包含 $C$。
- 前 $\ell$ 个圆可以被其他圆包含,也可以不被包含,而其余 $n - \ell$ 个圆中的每一个都必须至少被一个圆包含。
满足上述所有条件的排列称为可行排列。对于一个可行排列 $\mathcal{A}$,定义其质量 $d(\mathcal{A})$ 为属于不同圆的任意两点之间的最小距离。
如果对于给定情况至少存在一个可行排列,输出所有可行排列中可能的最大质量。如果不存在可行排列,输出 0。
样例 1 的一个可行排列。
样例 1 的一个不可行排列。
输入格式
第一行包含三个整数 $k$、$n$ 和 $\ell$,分别表示圆心之间的最大距离、要绘制的圆的数量,以及可以被包含也可以不被包含的圆的数量。
第二行包含 $n$ 个整数 $r_1, r_2, \dots, r_n$,其中 $r_i$ 是第 $i$ 个圆的半径。
- $1 \leq k \leq 10^9$
- $2 \leq n \leq 10^5$
- $1 \leq \ell \leq \min\{n, 200\}$
- $1 \leq r_i \leq 10^9$
- 对于任意 $1 \leq i < j \leq n$,$r_i \geq r_j$。
输出格式
如果不存在可行排列,输出单个整数 0。
否则,输出所有可行排列 $\mathcal{A}$ 中可能的最大质量 $d(\mathcal{A})$,格式如下:
- 如果 $d(\mathcal{A})$ 是整数,则输出该整数。
- 如果 $d(\mathcal{A})$ 不是整数,则以有理数形式 $a/b$ 输出,要求 $1 \leq a, b \leq 10^9$,$\gcd(a, b) = 1$,且 $|d(\mathcal{A}) - a/b|$ 最小。如果存在多个满足条件的有理数,输出任意一个即可。
样例
输入 1
15 4 3 7 5 3 1
输出 1
3
输入 2
14 6 1 7 5 4 3 2 1
输出 2
1
输入 3
14 2 2 5 4
输出 3
5
输入 4
22 4 4 4 4 1 1
输出 4
10/3
输入 5
13 3 3 6 3 1
输出 5
4
说明
样例 1 的解释:第一张图展示了一个可行排列,其中每个圆及其圆心用独特的颜色标出。
在此排列中,属于不同圆的任意两点之间的最小距离为 3,见证该距离的两个点被标记为红点。因此,该排列的质量为 3,这是该情况下所有可行排列中可能的最大值。注意,只有圆 4 被要求包含在另一个圆内,而其余圆可以被包含也可以不被包含。第二张图展示了一个不可行排列。在这种情况下,圆 1 同时包含了圆 3 和圆 4,但这两个圆互不包含,从而违反了条件 4。