AT_abc283_f [ABC283F] Permutation Distance

Description

[problemUrl]: https://atcoder.jp/contests/abc283/tasks/abc283_f $ (1,2,\ldots,N) $ の順列 $ P=(P\ _\ 1,P\ _\ 2,\ldots,P\ _\ 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 $ は $ i\ (1\leq\ i\leq\ N) $ がその中にちょうど $ 1 $ 回だけ現れるとき、かつそのときに限り$ (1,2,\ldots,N) $ の順列です。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ P\ _\ 1 $ $ P\ _\ 2 $ $ \ldots $ $ P\ _\ N $

Output Format

$ D\ _\ i\ (1\leq\ i\leq\ N) $ を $ i $ の昇順に空白区切りで出力せよ。

Explanation/Hint

### 制約 - $ 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 $ - 入力はすべて整数 ### Sample Explanation 1 たとえば、$ 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 $ です。