#ATabc283f. [ABC283F] Permutation Distance

[ABC283F] Permutation Distance

题目描述

给定一个 (1,2,,N)(1,2,\ldots,N) 的排列 P=(P1,P2,,PN)P=(P_1,P_2,\ldots,P_N)

对于所有 i (1iN)i\ (1\leq i\leq N),请计算以下的值:

  • $D\_i = \displaystyle\min\_{j\neq i}\left( |P\_i - P\_j| + |i - j| \right)$

排列是指将 (1,2,,N)(1,2,\ldots,N) 重新排列得到的数列。也就是说,长度为 NN 的数列 AA,当且仅当 i (1iN)i\ (1\leq i\leq N) 在其中恰好出现一次时,AA(1,2,,N)(1,2,\ldots,N) 的一个排列。

输入格式

输入以以下格式从标准输入读入。

N P1 P2  PNN\ P_1\ P_2\ \ldots\ P_N

输出格式

请按 ii 的升序,用空格分隔输出 Di (1iN)D_i\ (1\leq i\leq N)

样例 1

输入

4
3 2 4 1

输出

2 2 3 3

样例 2

输入

7
1 2 3 4 5 6 7

输出

2 2 2 2 2 2 2

样例 3

输入

16
12 10 7 14 8 3 11 13 2 5 6 16 4 1 15 9

输出

3 3 3 5 3 4 3 3 4 2 2 4 4 4 4 7

说明/提示

限制条件

  • 2N2×1052 \leq N \leq 2\times 10^5
  • 1PiN (1iN)1 \leq P_i \leq N\ (1\leq i\leq N)
  • ij    PiPji\neq j \implies P_i\neq P_j
  • 输入均为整数

样例解释 1

例如,对于 i=1i=1

  • j=2j=2 时,PiPj=1, ij=1|P_i - P_j|=1,\ |i-j|=1
  • j=3j=3 时,PiPj=1, ij=2|P_i - P_j|=1,\ |i-j|=2
  • j=4j=4 时,PiPj=2, ij=3|P_i - P_j|=2,\ |i-j|=3

因此,当 j=2j=2PiPj+ij=2|P_i - P_j|+|i-j|=2,为最小值,所以 D1=2D_1=2

由 ChatGPT 4.1 翻译