D - 距離 (Distance) 解説 /

実行時間制限: 2 sec / メモリ制限: 1024 MiB

配点: 100

問題文

N 個のボールが 1 列に並べてある.左から順にボール 1,2,\dots,N と呼ぶ.ボール i は色 C_i で塗られている.

i=1,2,\dots,N について,以下の値を求めよ.

  • ボール i と色が等しいすべてのボールに対する,ボール i との距離の総和.ただし,ボール i とボール j の距離は |i-j| で定義される.

制約

  • 1 \leqq N \leqq 100
  • 1 \leqq C_i \leqq 100 (1\leqq i \leqq N).
  • 入力される値はすべて整数である.

入力

入力は以下の形式で与えられる.

N
C_1 C_2 \dots C_N

出力

N 行にわたり出力せよ.i 行目 (1 \leqq i \leqq N) には,ボール i と色が等しいすべてのボールに対する,ボール i との距離の総和を出力せよ.

答え以外は何も出力しないこと.(入力を促す文章なども出力しないこと.)

解答形式については,練習問題やその解答例 を参考にしても良い.


入力例 1

4
1 2 1 1

出力例 1

5
0
3
4

ボール 1 が色 1 で,ボール 2 が色 2 で,ボール 3 が色 1 で,ボール 4 が色 1 で塗られている.

  • i = 1 について,ボール 1 と色が等しいボールはボール 1,3,4 であり,それぞれボール 1 との距離は 0,2,3 なので 0+2+3=5 を出力する.
  • i = 2 について,ボール 2 と色が等しいボールはボール 2 のみであり,ボール 2 との距離は 0 なので 0 を出力する.
  • i = 3 について,ボール 3 と色が等しいボールはボール 1,3,4 であり,それぞれボール 3 との距離は 2,0,1 なので 2+0+1=3 を出力する.
  • i = 4 について,ボール 4 と色が等しいボールはボール 1,3,4 であり,それぞれボール 4 との距離は 3,1,0 なので 3+1+0=4 を出力する.

入力例 2

1
100

出力例 2

0

ボール 1 が色 100 で塗られている.

  • i=1 について,ボール 1 と色が等しいボールはボール 1 のみであり,ボール 1 との距離は 0 なので 0 を出力する.

入力例 3

8
1 3 9 7 3 3 7 9

出力例 3

0
7
5
3
4
5
3
5

入力例 4

10
1 1 1 1 1 1 1 1 1 1

出力例 4

45
37
31
27
25
25
27
31
37
45