#P10466. 邻值查找

邻值查找

题目描述

给定一个长度为 nn 的序列 AAAA 中的数各不相同。

对于 AA 中的每一个数 AiA_i,求:

min1j<iAiAj\min_{1 \le j <i}|A_i-A_j|

以及令上式取到最小值的 jj(记为 PiP_i)。若最小值点不唯一,则选择使 AjA_j 较小的那个。

输入格式

第一行输入整数 nn,代表序列长度。

第二行输入 nn 个整数 A1AnA_1 \sim A_n,代表序列的具体数值,数值之间用空格隔开。

输出格式

输出共 n1n-1 行,每行输出两个整数,数值之间用空格隔开。

分别表示当 ii2n2 \sim n 时,对应的 min1j<iAiAj\min_{1 \le j <i}|A_i-A_j|PiP_i 的值。

3
1 5 3
4 1
2 1

提示

对于 30%30\% 的数据 n100n \le 100

对于 70%70\% 的数据 n104n \le 10^4

对于 100%100\% 的数据 n105,Ai109n \le 10^5,|A_i| \le 10^9