Files
hanyixuanten c5eebf5252
Check cpp / md pair / Check md headers (push) Successful in 4s
new file: P10466.cpp
2026-11-02 07:15:21 +00:00

47 lines
932 B
Markdown

# P10466 邻值查找
## 题目描述
给定一个长度为 $n$ 的序列 $A$,$A$ 中的数各不相同。
对于 $A$ 中的每一个数 $A_i$,求:
$\min_{1 \le j <i}|A_i-A_j|$
以及令上式取到最小值的 $j$(记为 $P_i$)。若最小值点不唯一,则选择使 $A_j$ 较小的那个。
## 输入格式
第一行输入整数 $n$,代表序列长度。
第二行输入 $n$ 个整数 $A_1 \sim A_n$,代表序列的具体数值,数值之间用空格隔开。
## 输出格式
输出共 $n-1$ 行,每行输出两个整数,数值之间用空格隔开。
分别表示当 $i$ 取 $2 \sim n$ 时,对应的 $\min_{1 \le j <i}|A_i-A_j|$ 和 $P_i$ 的值。
## 输入输出样例 #1
### 输入 #1
```
3
1 5 3
```
### 输出 #1
```
4 1
2 1
```
## 说明/提示
对于 $30\%$ 的数据 $n \le 100$。
对于 $70\%$ 的数据 $n \le 10^4$。
对于 $100\%$ 的数据 $n \le 10^5,|A_i| \le 10^9$。