题库练习 [ABC139F] Engines
← 上一题 下一题 →

A7596 | [ABC139F] Engines

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

E869120 君一开始站在二维平面上的原点 $(0, 0)$。

他有 $N$ 个引擎。每个引擎的使用方法和功能如下:

- 使用第 $i$ 个引擎时,E869120 君当前位置的 $X$ 坐标会增加 $x_i$,$Y$ 坐标会增加 $y_i$。也就是说,如果他当前在坐标 $(X, Y)$,使用第 $i$ 个引擎后会移动到 $(X + x_i, Y + y_i)$。
- 引擎可以按任意顺序使用,但每个引擎最多只能使用一次。也可以选择不使用某些引擎。

他想要到达距离原点最远的位置。
请你求出他最后能到达的点 $(X, Y)$ 到原点的距离 $\sqrt{X^2 + Y^2}$ 的最大值。

输入格式

输入从标准输入读入,格式如下:

> $N$
> $x_1$ $y_1$
> $x_2$ $y_2$
> $\vdots$
> $x_N$ $y_N$

输出格式

请输出他最后能到达的点到原点的距离的最大值,结果为实数。
只要你的答案与真实答案的相对误差或绝对误差在 $10^{-10}$ 以内,即视为正确。

输入输出样例

输入 #1
3
0 10
5 -5
-5 -5
输出 #1
10.000000000000000000000000000000000000000000000000
输入 #2
5
1 1
1 0
0 1
-1 0
0 -1
输出 #2
2.828427124746190097603377448419396157139343750753
输入 #3
5
1 1
2 2
3 3
4 4
5 5
输出 #3
21.213203435596425732025330863145471178545078130654
输入 #4
3
0 0
0 1
1 0
输出 #4
1.414213562373095048801688724209698078569671875376
输入 #5
1
90447 91000
输出 #5
128303.000000000000000000000000000000000000000000000000
输入 #6
2
96000 -72000
-72000 54000
输出 #6
120000.000000000000000000000000000000000000000000000000
输入 #7
10
1 2
3 4
5 6
7 8
9 10
11 12
13 14
15 16
17 18
19 20
输出 #7
148.660687473185055226120082139313966514489855137208
C++ 编辑器
输入
输出