100 #P1980. *【链表】邻值查找[CH1301]

*【链表】邻值查找[CH1301]

【题意】

给定一个长度为 nn 的序列 AiA_i ( AiA_i 各不相同 ) 。

对于每一个数 AiA_i,求:min(AiAj)  (1j<i) min( | A_i − A_j | ) \ \ ( 1 \le j < i) ,以及令上式取到最小值的 jj( 记为 PiP_i )。若最小值点不唯一,则选择使 AjA_j 较小的那个。

【输入格式】

第一行一个整数 n(1n105)n(1 \le n \le 10^5)

下来 nn个 整数 Ai (Ai109)A_i \ (|Ai| \le 10^9)

【输出格式】

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

分别表示当 ii22 ~ nn 时,对应的 min(AiAj) (1j<i) min(|A_i−A_j|) \ (1 \le j < i) PiP_i 的值。

【输入样例】

3
1 5 3

【输出样例】

4 1
2 1