题目描述
(1,2,…,N) の順列 P=(P 1,P 2,…,P N) が与えられます。
すべての i (1≤ i≤ N) に対して、以下の値を求めてください。
- D i=j= imin(∣ P i−P j∣+∣ i−j∣)
順列とは (1,2,…,N) の順列とは、(1,2,…,N) を並べ替えて得られる数列のことをいいます。 つまり、長さ N の数列 A は i (1≤ i≤ N) がその中にちょうど 1 回だけ現れるとき、かつそのときに限り(1,2,…,N) の順列です。
输入格式
入力は以下の形式で標準入力から与えられる。
N P 1 P 2 … P N
输出格式
D i (1≤ i≤ N) を i の昇順に空白区切りで出力せよ。
题目大意
给定一个 1∼n 的排列 p=(p1,p2,…,pn)。
你需要对每个 i 求得
Di=j=imin{∣pi−pj∣+∣i−j∣}一个 1∼n 的排列是一个长为 n 的序列,满足 [1,n] 内的所有整数恰好都在其中出现一次。
2≤n≤2×105。
提示
制約
- 2 ≤ N ≤ 2×105
- 1 ≤ P i ≤ N (1≤ i≤ N)
- i= j⟹ P i= P j
- 入力はすべて整数
Sample Explanation 1
たとえば、i=1 について - j=2 のとき、∣ P i−P j∣=1,∣ i−j∣=1 です。 - j=3 のとき、∣ P i−P j∣=1,∣ i−j∣=2 です。 - j=4 のとき、∣ P i−P j∣=2,∣ i−j∣=3 です。 よって、j=2 のとき ∣ P i−P j∣+∣ i−j∣=2 で最小となるので、D 1=2 です。