#P13545. [OOI 2022] Plane stretching

[OOI 2022] Plane stretching

Description

Igor 是一位几何学爱好者,他为自己买了一张平面和一组 PP,包含 nn 个不同的点,第 ii 个点坐标为 (xi,yi)(x_i, y_i)

他很快就能找出这组点中距离最远的两点。很快他觉得这太简单了,于是想出 qq 个实数 α1,α2,,αq\alpha_1, \alpha_2, \ldots, \alpha_q。对于每一个 αj\alpha_j,Igor 都想知道:如果将所有点的 xx 坐标按 αj\alpha_j 缩放后,点集中最远的两点间的最大距离是多少。形式化地说,他关心集合 (xiαj,yi)(x_i \cdot \alpha_j, y_i) 中最远两点的距离。请你帮帮 Igor!

Input Format

每组输入包含多组测试数据。第一行包含两个整数 ttgg1t2500001 \leq t \leq 250\,0000g90 \leq g \leq 9),分别表示测试数据组数和当前测试组编号(用于指示额外限制)。接下来是 tt 组测试数据。

每组测试数据的第一行包含两个整数 nnqq2n5000002 \leq n \leq 500\,0001q5000001 \leq q \leq 500\,000),分别表示点的数量和查询的数量。

接下来的 nn 行,每行两个整数 xix_iyiy_i109xi,yi109-10^9 \leq x_i, y_i \leq 10^9),表示每个点的坐标。保证同一组内所有点互不相同。

接下来的 qq 行,每行一个实数 αj\alpha_j1αj1091 \leq \alpha_j \leq 10^9),表示一次缩放的系数。

记所有测试数据中 nin_i 的和为 NN,所有 qiq_i 的和为 QQ。保证 N,Q500000N, Q \leq 500\,000

Output Format

对于每组测试数据,输出 qq 个实数,第 ii 个为对应查询的答案。

你的答案只要绝对误差或相对误差不超过 10610^{-6} 即可。更具体地说,若 aa 为你的答案,bb 为标准答案,则只要 abmax(b,1)106\frac{|a-b|}{\max(b, 1)} \leq 10^{-6},就被认为是正确的。

2 0
5 2
0 0
1 1
0 2
-1 3
0 4
1
2.5
8 4
0 0
6 11
7 13
4 14
0 15
-4 14
-7 13
-6 11
2
1
1.25
1.5
4.000000
5.385165
28.000000
15.000000
17.500000
21.000000

Hint

评分说明

本题测试数据共分为 9 组。只有通过某组所有测试点,且通过所有必需的前置组,才能获得该组分数。离线评测表示该组的评测结果将在比赛结束后公布。

随机点表示每个坐标均独立均匀地在 109-10^910910^9 之间随机生成。

Group Points nin_i NN qiq_i QQ 必须通过的组 备注
0 --
1 12 ni10n_i \leq 10 N2000N \leq 2000 qi10q_i \leq 10 Q2000Q \leq 2000 0
2 9 ni2000n_i \leq 2000 qi2000q_i \leq 2000 0--1
3 13 ni5000n_i \leq 5000 N5000N \leq 5000 qi10000q_i \leq 10\,000 Q10000Q \leq 10\,000 0--2
4 11 ni100000n_i \leq 100\,000 N100000N \leq 100\,000 qi100000q_i \leq 100\,000 Q100000Q \leq 100\,000 -- 随机点
5 8 -- 4
6 12 ni5000n_i \leq 5000 N5000N \leq 5000 qi100000q_i \leq 100\,000 Q100000Q \leq 100\,000 0--3
7 11 -- 0--3, 6
8 10 ni100000n_i \leq 100\,000 N100000N \leq 100\,000 qi100000q_i \leq 100\,000 Q100000Q \leq 100\,000 0--4, 6
9 14 -- 0--8 离线评测