#AT1420. F - Engines
F - Engines
F - Engines
分数:$600$ 分
问题描述
E869120最初位于二维平面的原点$(0, 0)$。
他有 $N$ 个引擎,可以按照以下方式使用:
- E869120使用第 $i$ 个引擎时,他的 $X$ 和 $Y$ 坐标分别改变 $x_i$ 和 $y_i$。换句话说,如果E869120从坐标$(X, Y)$使用第 $i$ 个引擎,他将移动到坐标$(X + x_i, Y + y_i)$。
- E869120可以以任意顺序使用这些引擎,但每个引擎最多只能使用一次。他也可以选择不使用一些引擎。
他想要尽可能远离原点。 设 $(X, Y)$ 是他的最终坐标。找到$\sqrt{X^2 + Y^2}$的最大可能值,即到原点的距离。
约束
- $1 \leq N \leq 100$
- $-1 \ 000 \ 000 \leq x_i \leq 1 \ 000 \ 000$
- $-1 \ 000 \ 000 \leq y_i \leq 1 \ 000 \ 000$
- 输入中的所有值都是整数。
输入
从标准输入中以以下格式给出:
输出
输出最大可能的最终距离到原点的实数值。 当相对误差或者绝对误差不超过 $10^{-10}$ 时,你的输出被认为是正确的。
3
0 10
5 -5
-5 -5
10.000000000000000000000000000000000000000000000000
如果我们按以下三种方式之一使用引擎,最终距离原点的距离可以为 $10$:
- 使用引擎 $1$ 移动到 $(0, 10)$。
- 使用引擎 $2$ 移动到 $(5, -5)$,然后使用引擎 $3$ 移动到 $(0, -10)$。
- 使用引擎 $3$ 移动到 $(-5, -5)$,然后使用引擎 $2$ 移动到 $(0, -10)$。
距离不能大于 $10$,所以最大可能的距离为 $10$。
5
1 1
1 0
0 1
-1 0
0 -1
2.828427124746190097603377448419396157139343750753
最大可能的最终距离是 $2 \sqrt{2} = 2.82842...$。 其中一种实现方式是:
- 使用引擎 $1$ 移动到 $(1, 1)$,然后使用引擎 $2$ 移动到 $(2, 1)$,最后使用引擎 $3$ 移动到 $(2, 2)$。
5
1 1
2 2
3 3
4 4
5 5
21.213203435596425732025330863145471178545078130654
如果我们按照顺序使用所有引擎 $1 \rightarrow 2 \rightarrow 3 \rightarrow 4 \rightarrow 5$,我们将最终到达 $(15, 15)$,这一距离为 $15 \sqrt{2} = 21.2132...$。
3
0 0
0 1
1 0
1.414213562373095048801688724209698078569671875376
引擎可以是无用的,即 $(x_i, y_i) = (0, 0)$。
1
90447 91000
128303.000000000000000000000000000000000000000000000000
请注意,可能只有一个引擎。
2
96000 -72000
-72000 54000
120000.000000000000000000000000000000000000000000000000
可能只有两个引擎。
10
1 2
3 4
5 6
7 8
9 10
11 12
13 14
15 16
17 18
19 20
148.660687473185055226120082139313966514489855137208