CF120J Minimum Sum

题目描述

给定平面上的 $n$ 个向量。对于每个向量,你可以将其任意一个坐标乘以 $-1$。因此,每个向量 $v_{i}=(x_{i},y_{i})$ 可以被变换为以下四种形式之一: - $v_{i}^{1}=(x_{i},y_{i})$, - $v_{i}^{2}=(-x_{i},y_{i})$, - $v_{i}^{3}=(x_{i},-y_{i})$, - $v_{i}^{4}=(-x_{i},-y_{i})$。 你需要从集合中选出两个向量,并确定它们的哪些坐标需要乘以 $-1$,使得变换后两个向量之和的绝对值尽可能小。更正式地,你需要选择两个向量 $v_{i}$、$v_{j}$($1 \leq i, j \leq n, i \neq j$)以及两个数字 $k_{1}$、$k_{2}$($1 \leq k_{1}, k_{2} \leq 4$),使得表达式 $|v_{i}^{k_{1}}+v_{j}^{k_{2}}|$ 的值最小。

输入格式

第一行包含一个整数 $n$($2 \leq n \leq 10^{5}$)。接下来的 $n$ 行,每行包含一对整数 "$x_{i}\ y_{i}$"($-10000 \leq x_{i}, y_{i} \leq 10000$),每对数表示一个向量。

输出格式

输出一行,包含四个用空格分隔的整数 "$i\ k_{1}\ j\ k_{2}$",表示问题的一个解。如果存在多个绝对值最小的方案,你可以输出其中任意一个。

说明/提示

两个向量 $v=(x_{v},y_{v})$ 和 $u=(x_{u},y_{u})$ 的和为 $s=v+u=(x_{v}+x_{u},y_{v}+y_{u})$。 向量 $v=(x,y)$ 的绝对值为 $\sqrt{x^2+y^2}$。 在第二个样例中存在多种合法答案,例如: (3 1 4 2)、(3 1 4 4)、(3 4 4 1)、(3 4 4 3)、(4 1 3 2)、(4 1 3 4)、(4 2 3 1)。 由 ChatGPT 4.1 翻译