#47. 邻值查找

邻值查找

题目描述

给定一个长度为 n\red n 的序列 A\red AA\red A 中的数各不相同。

对于 A\red A 中的每一个数 Ai\red {A_i},求: min1j<iAiAj\red {min_{1≤j<i}|A_i−A_j|} 以及令上式取到最小值的 j\red j(记为 Pi\red {P_i})。

若最小值点不唯一,则选择使 Aj\red {A_j}较小的那个。

输入格式

第一行输入整数n\red n,代表序列长度。

第二行输入n\red n个整数A1An\red {A_1…A_n},代表序列的具体数值,数值之间用空格隔开。

输出格式

输出共n1\red {n-1}行,每行输出两个整数,数值之间用空格隔开。

分别表示当i\red i2n\red {2_n}时,对应的min1j<iAiAj\red {min_{1≤j<i}|A_i−A_j|}Pi\red {P_i}的值。

样例

输入样例

3
1 5 3

输出样例

4 1
2 1

提示

n105,Ai109\red {n≤10^5,|A_i|≤10^9}