ABC422E.E - Colinear

传统题 时间 2000 ms 内存 256 MiB 7 尝试 2 已通过 2 标签

E - Colinear

得分:450450

问题陈述

二维平面上有NN个点。NN是奇数。第ii点位于(x_i,y_i)(x\_i, y\_i)。所有点坐标都不同。

确定是否存在超过一半NN点的线,如果有,输出它。

对于任何满足约束条件的输入,如果存在满足条件的直线,可以用整数 a,b,ca,b,c1018a,b,c1018-10^{18} \leq a,b,c \leq 10^{18}(其中 (a,b,c)(0,0,0)(a,b,c) \neq (0,0,0))表示为ax+by+c=0ax+by+c=0。输出这些a,b,ca,b,c

限制

  • 3N5×1053 \leq N \leq 5 \times 10^5
  • NN很奇怪。
  • 108x_i108-10^8 \leq x\_i \leq 10^8
  • 108y_i108-10^8 \leq y\_i \leq 10^8
  • 如果iji \neq j,那就(x_i,y_i)(x_j,y_j)(x\_i, y\_i) \neq (x\_j, y\_j)
  • 所有输入值均为整数。

输入

输入格式为标准输入:

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

输出

如果不存在满足该条件的行,则输出No

如果存在满足条件的行,输出两行。第一行输出Yes,第二行输出a,b,ca,b,c按此顺序分隔空格。a,b,ca,b,c必须满足1018a,b,c1018-10^{18} \leq a,b,c \leq 10^{18}(a,b,c)(0,0,0)(a,b,c) \neq (0,0,0)

如果有多个解法,任何一个都被视为正确。


直线2x+y8=02x+y-8=0经过22nd点和33rd点,因此满足条件。


不存在满足该条件的直线。


样例

3
1 1
3 2
2 4
Yes
2 1 -8
5
5 2
1 3
2 6
4 4
5 4
No
11
-9374372 85232388
-60705467 86198234
-7475320 80628487
98066347 -23868213
-12177678 85284287
30535572 -35358356
51324557 22410787
28854279 44658587
-28804873 82911971
65052073 8819187
-67744430 68365758
Yes
4655800 4702358 -344340416016346

在线编程 IDE

建议全屏模式获得最佳体验