这位天文学家热衷于观星。具体来说,他从通过望远镜同时观测 $k$ 颗星星中获得了极大的乐趣。建造一个半径为 $r$ 的望远镜需要花费 $t \cdot r$ 克朗。新造的望远镜初始指向原点 $(0, 0)$。将望远镜移动到其他位置也需要付出努力;将望远镜移动 $d$ 个单位距离需要花费 $s \cdot d$ 克朗。天文学家可以观测到望远镜指向位置周围距离在 $r$ 以内的所有星星。
请问,建造并移动一个能够同时观测到 $k$ 颗星星的望远镜需要花费多少钱?
所有坐标和距离均在欧几里得平面上给出。
这是一个 $n = 3$ 颗星星位于 $(0, 0)$、$(2, 0)$ 和 $(3, 1)$ 的例子。阴影区域显示了一个半径为 $1$、指向 $(1, 0)$ 并覆盖了两颗星星的望远镜;这花费了 $s + t$ 克朗,是样例输入 3 的最优解。图中还显示了样例输入 1、2 和 4 的最优解。
输入格式
第一行包含四个整数:天文学家想要观测的星星数量 $k$、夜空中星星的总数 $n$、移动成本 $s$ 以及望远镜建造成本 $t$。接下来 $n$ 行,其中第 $i$ 行包含第 $i$ 颗星星的整数坐标 $x_i$ 和 $y_i$。
输出格式
一个实数:天文学家需要花费的最小克朗数。
数据范围
你可以假设:
- $1 \le k \le n \le 700$。
- $x_i, y_i \in \{-10^9, \dots, 10^9\}$,对于所有 $i \in \{1, \dots, n\}$。
- $s, t \in \{0, \dots, 10^9\}$。
- 如果你的输出与正确答案的相对误差或绝对误差在 $\epsilon = 10^{-6}$ 以内,则被视为正确。
你的解法将在多组测试数据上进行测试,每组测试数据都有相应的分值。每组测试数据包含多组测试用例。要获得某组测试数据的分数,你需要解决该组中的所有测试用例。你的最终得分为单次提交的最高得分。
| 组别 | 分值 | 约束条件 |
|---|---|---|
| 1 | 8 | $t \le s$ |
| 2 | 9 | $n \le 50$ 且 $s = 0$ |
| 3 | 18 | $s = 0$ |
| 4 | 13 | $n \le 50$ |
| 5 | 14 | $n \le 350$ |
| 6 | 15 | $\epsilon = 1/10$ |
| 7 | 23 | 无额外约束 |
样例
样例输入 1
2 3 1000 500 0 0 2 0 3 1
样例输出 1
1000.0
样例输入 2
2 3 500 3000 0 0 2 0 3 1
样例输出 2
3387.277541898787
样例输入 3
2 3 250 750 0 0 2 0 3 1
样例输出 3
1000.0
样例输入 4
2 3 0 500 0 0 2 0 3 1
样例输出 4
353.5533905932738
样例输入 5
3 4 0 10 0 0 10 0 5 10 5 5
样例输出 5
50.0