#WHJ2023B. 最小值(min)

最小值(min)

题目描述

给定一个长度为 nn 的序列 AAAA 中的数各不相同。对于 AA 中的每一个数 AiA_i,求:

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

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

输入格式

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

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

输出格式

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

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

输入样例:

3
1 5 3

输出样例:

4 1
2 1

提示

i=2i=2 时,A2=5A_2 = 5,前面只有A1A_1, 所以最小值为 51=45 - 1 = 4jj11;

i=3i = 3 时,A3=3A_3 = 3,前面有A1=1A2=5A_1 = 1, A_2 = 5, 所以最小值为 31=23 - 1 = 253=25 - 3 = 2jjAjA_j 较小的为 11;

数据范围

  • 50%的数据,n100n \le 100
  • 15%的数据,n104n \le 10^4
  • 5%的数据,n=105n = 10^5,数列A为单调不降;
  • 100%的数据,n105n \le 10^5,Ai109|A_i| \le 10^9