#ABC283F. 排列距离

排列距离

排列距离

题目描述

给定 (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\lparen\left\lvert P_i-P_j\right\rvert+\left\lvert i-j\right\rvert\right\rparen$

什么是排列?

(1,2,,N)(1,2,\ldots,N) 的排列是把 (1,2,,N)(1,2,\ldots,N) 重新排列后得到的序列。换言之,长度为 NN 的序列 AA(1,2,,N)(1,2,\ldots,N) 的排列,当且仅当每个 i (1iN)i\ (1\leq i\leq N)AA 中恰好出现一次。

输入格式

输入按以下格式从标准输入给出:

NN
P1P_1 P2P_2 \ldots PNP_N

输出格式

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

样例

4
3 2 4 1
2 2 3 3 

例如,对于 i=1i=1:

  • j=2j=2,则 PiPj=1\left\lvert P_i-P_j\right\rvert=1ij=1\left\lvert i-j\right\rvert=1;
  • j=3j=3,则 PiPj=1\left\lvert P_i-P_j\right\rvert=1ij=2\left\lvert i-j\right\rvert=2;
  • j=4j=4,则 PiPj=2\left\lvert P_i-P_j\right\rvert=2ij=3\left\lvert i-j\right\rvert=3

因此,当 j=2j=2 时取得最小值,此时 $\left\lvert P_i-P_j\right\rvert+\left\lvert i-j\right\rvert=2$,所以 D1=2D_1=2

7
1 2 3 4 5 6 7
2 2 2 2 2 2 2 
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 \le N \le 2\times10^5
  • 1PiN (1iN)1 \le P_i \le N\ (1\leq i\leq N)
  • ij    PiPji\neq j\implies P_i\neq P_j
  • 输入中的所有值均为整数。
难度 提高+/省选
通过率
尝试 0
已通过 0
ID
2581
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签