102835: [Atcoder]ABC283 F - Permutation Distance

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Score : $500$ points

Problem Statement

You are given a permutation $P=(P _ 1,P _ 2,\ldots,P _ N)$ of $(1,2,\ldots,N)$.

Find the following value for all $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$.
What is a permutation? A permutation of $(1,2,\ldots,N)$ is a sequence that is obtained by rearranging $(1,2,\ldots,N)$. In other words, a sequence $A$ of length $N$ is a permutation of $(1,2,\ldots,N)$ if and only if each $i\ (1\leq i\leq N)$ occurs in $A$ exactly once.

Constraints

  • $2 \leq N \leq 2\times10^5$
  • $1 \leq P _ i \leq N\ (1\leq i\leq N)$
  • $i\neq j\implies P _ i\neq P _ j$
  • All values in the input are integers.

Input

The input is given from Standard Input in the following format:

$N$
$P _ 1$ $P _ 2$ $\ldots$ $P _ N$

Output

Print $D _ i\ (1\leq i\leq N)$ in ascending order of $i$, separated by spaces.


Sample Input 1

4
3 2 4 1

Sample Output 1

2 2 3 3 

For example, for $i=1$,

  • if $j=2$, we have $\left\lvert P _ i-P _ j\right\rvert=1$ and $\left\lvert i-j\right\rvert=1$;
  • if $j=3$, we have $\left\lvert P _ i-P _ j\right\rvert=1$ and $\left\lvert i-j\right\rvert=2$;
  • if $j=4$, we have $\left\lvert P _ i-P _ j\right\rvert=2$ and $\left\lvert i-j\right\rvert=3$.

Thus, the value is minimum when $j=2$, where $\left\lvert P _ i-P _ j\right\rvert+\left\lvert i-j\right\rvert=2$, so $D _ 1=2$.


Sample Input 2

7
1 2 3 4 5 6 7

Sample Output 2

2 2 2 2 2 2 2 

Sample Input 3

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

Sample Output 3

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

Input

题意翻译

给定一个 $1 \sim n$ 的排列 $p = (p_1, p_2, \dots, p_n)$。 你需要对每个 $i$ 求得 $$D_i = \min_{j \neq i} \left\{ \lvert p_i - p_j\rvert + \lvert i - j\rvert \right\} $$ 一个 $1\sim n$ 的排列是一个长为 $n$ 的序列,满足 $[1, n]$ 内的所有整数恰好都在其中出现一次。 $2\le n \le 2\times 10^5$。

Output

得分:500分 部分 问题描述 给你一个排列 $P=(P _ 1,P _ 2,\ldots,P _ N)$,其中 $(1,2,\ldots,N)$ 的排列。 对于所有的 $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,\ldots,N)$ 的排列是指通过重新排列 $(1,2,\ldots,N)$ 而得到的序列。 换句话说,长度为 $N$ 的序列 $A$ 是 $(1,2,\ldots,N)$ 的排列,当且仅当每个 $i\ (1\leq i\leq N)$ 在 $A$ 中恰好出现一次。 部分 限制条件 * $2 \leq N \leq 2\times10^5$ * $1 \leq P _ i \leq N\ (1\leq i\leq N)$ * $i\neq j\implies P _ i\neq P _ j$ * 输入中的所有值都是整数。 部分 输入 输入格式如下: $N$ $P _ 1$ $P _ 2$ $\ldots$ $P _ N$ 部分 输出 以 $i$ 的升序顺序打印 $D _ i\ (1\leq i\leq N)$,用空格分隔。 部分 样例输入 1 4 3 2 4 1 部分 样例输出 1 2 2 3 3 例如,对于 $i=1$, * 如果 $j=2$,我们有 $\left\lvert P _ i-P _ j\right\rvert=1$ 和 $\left\lvert i-j\right\rvert=1$; * 如果 $j=3$,我们有 $\left\lvert P _ i-P _ j\right\rvert=1$ 和 $\left\lvert i-j\right\rvert=2$; * 如果 $j=4$,我们有 $\left\lvert P _ i-P _ j\right\rvert=2$ 和 $\left\lvert i-j\right\rvert=3$。 因此,当 $j=2$ 时,值最小,其中 $\left\lvert P _ i-P _ j\right\rvert+\left\lvert i-j\right\rvert=2$,因此 $D _ 1=2$。 部分 样例输入 2 7 1 2 3 4 5 6 7 部分 样例输出 2 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 3 5 3 4 3 3 4 2 2 4 4 4 4 7

加入题单

算法标签: