Description
Igor 是一位几何学爱好者,他为自己买了一张平面和一组 P,包含 n 个不同的点,第 i 个点坐标为 (xi,yi)。
他很快就能找出这组点中距离最远的两点。很快他觉得这太简单了,于是想出 q 个实数 α1,α2,…,αq。对于每一个 αj,Igor 都想知道:如果将所有点的 x 坐标按 αj 缩放后,点集中最远的两点间的最大距离是多少。形式化地说,他关心集合 (xi⋅αj,yi) 中最远两点的距离。请你帮帮 Igor!
每组输入包含多组测试数据。第一行包含两个整数 t 和 g(1≤t≤250000,0≤g≤9),分别表示测试数据组数和当前测试组编号(用于指示额外限制)。接下来是 t 组测试数据。
每组测试数据的第一行包含两个整数 n 和 q(2≤n≤500000,1≤q≤500000),分别表示点的数量和查询的数量。
接下来的 n 行,每行两个整数 xi 和 yi(−109≤xi,yi≤109),表示每个点的坐标。保证同一组内所有点互不相同。
接下来的 q 行,每行一个实数 αj(1≤αj≤109),表示一次缩放的系数。
记所有测试数据中 ni 的和为 N,所有 qi 的和为 Q。保证 N,Q≤500000。
对于每组测试数据,输出 q 个实数,第 i 个为对应查询的答案。
你的答案只要绝对误差或相对误差不超过 10−6 即可。更具体地说,若 a 为你的答案,b 为标准答案,则只要 max(b,1)∣a−b∣≤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 到 109 之间随机生成。
| Group |
Points |
ni |
N |
qi |
Q |
必须通过的组 |
备注 |
| 0 |
-- |
| 1 |
12 |
ni≤10 |
N≤2000 |
qi≤10 |
Q≤2000 |
0 |
|
| 2 |
9 |
ni≤2000 |
qi≤2000 |
0--1 |
| 3 |
13 |
ni≤5000 |
N≤5000 |
qi≤10000 |
Q≤10000 |
0--2 |
| 4 |
11 |
ni≤100000 |
N≤100000 |
qi≤100000 |
Q≤100000 |
-- |
随机点 |
| 5 |
8 |
-- |
4 |
| 6 |
12 |
ni≤5000 |
N≤5000 |
qi≤100000 |
Q≤100000 |
0--3 |
|
| 7 |
11 |
-- |
0--3, 6 |
| 8 |
10 |
ni≤100000 |
N≤100000 |
qi≤100000 |
Q≤100000 |
0--4, 6 |
| 9 |
14 |
-- |
0--8 |
离线评测 |