问题描述
给定一个排列 P=(P1,P2,ldots,PN),其中包含数字 (1,2,ldots,N)。
对于所有的 i(1leqileqN),求以下值:
- Di=displaystyleminjneqileftlparenleftlvertPi−Pjrightrvert+leftlverti−jrightrvertrightrparen。
什么是排列?排列 (1,2,ldots,N) 是通过重新排列 (1,2,ldots,N) 得到的序列。换句话说,如果且仅当每个 i(1leqileqN) 在序列 A 中只出现一次时,长度为 N 的序列 A 是排列 (1,2,ldots,N)。
约束条件
- 2leqNleq2times105
- 1leqPileqN(1leqileqN)
- ineqjimpliesPineqPj
- 输入中的所有值都是整数。
输入
从标准输入中以以下格式给出输入:
N
P1 P2 ldots PN
输出
按照 i 的升序,以空格分隔的形式打印 Di(1leqileqN)。
示例输入 1
示例输出 1
例如,对于 i=1,
- 如果 j=2,我们有 leftlvertPi−Pjrightrvert=1 和 leftlverti−jrightrvert=1;
- 如果 j=3,我们有 leftlvertPi−Pjrightrvert=1 和 leftlverti−jrightrvert=2;
- 如果 j=4,我们有 leftlvertPi−Pjrightrvert=2 和 leftlverti−jrightrvert=3。
因此,当 j=2 时,值最小,即 leftlvertPi−Pjrightrvert+leftlverti−jrightrvert=2,所以 D1=2。
示例输入 2
示例输出 2
示例输入 3
示例输出 3