CF598C Nearest vectors
题目描述
给定平面上的一组向量,每个向量从原点出发。你的任务是找到一对向量,使它们之间的无向角最小。
无向角是非负值,取顺时针和逆时针方向角中的最小值。无向角始终在 $0$ 和 $\pi$ 之间。例如,相反方向的向量之间的角等于 $\pi$。
输入格式
输入的第一行包含一个整数 $n$($2 \le n \le 100000$)——向量的数量。
接下来的 $n$ 行中,第 $i$ 行包含两个整数 $x_i$ 和 $y_i$($|x|, |y| \le 10000$,且 $x^2 + y^2 > 0$)——第 $i$ 个向量的坐标。向量按输入顺序从 $1$ 到 $n$ 编号。输入保证没有两个向量的方向相同(但它们的方向可能相反)。
输出格式
输出两个整数 $a$ 和 $b$($a \ne b$)——表示具有最小无向角的一对向量的索引。你可以以任意顺序输出这两个数字。如果有多个答案,输出任意一个。