Найближчі точки
Limits: 2 sec., 256 MiB
На площині знаходиться \(n\) точок пронумерованих від \(1\) до \(n\) з координатами \((x_i, y_i)\).
Відстань між точками з індексами \(i\) та \(j\) визначається як \(dist(i, j) = min(|x_i-x_j|, |y_i-y_j|)\).
Знайдіть пару точок з найменшою можливою відстанню.
Input
У першому рядку \(n\) — кількість точок на площині. В наступних \(n\) рядках дано по 2 цілі числа \(x_i\) та \(y_i\) — координати \(i\)-ої точки.
Output
В одному рядку виведіть через пропуск два цілі числа \(i\) та \(j\) — індекси точок між якими найменша відстань.
Якщо таких пар точок більш ніж одна, то знайдіть пару для якої мінімізується \(i + j\).
Якщо і таких пар декілька, то серед них знайдіть пару з мінімальним \(i\).
Constraints
\(2 \le n \le 100000\),
\(-10^9 \le x_i, y_i \le 10^9\).
Samples
Input (stdin) | Output (stdout) |
---|---|
2 1 1 2 2 | 1 2 |
Input (stdin) | Output (stdout) |
---|---|
4 3 3 2 0 0 2 0 0 | 2 4 |
Submit a solution
Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
---|
Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
---|