AT_indeednow_2015_qualb_4 高橋くんと数列
Description
[problemUrl]: https://atcoder.jp/contests/indeednow-qualb/tasks/indeednow_2015_qualb_4
高橋くんは長さ $ N $ の $ 1 $ から $ C $ の整数からなる数列 $ \{a_N\}\ =\ \{a_1,a_2,\ ...,a_N\} $ を受け取って、 $ 1 $ 以上 $ C $ 以下のそれぞれの整数について、その数を1つでも含む連続する部分列の数を返す機械です。
より正確には、 $ 1 $ 以上 $ C $ 以下の整数 $ k $ について、 $ 1\ ≦\ l\ ≦\ r\ ≦\ N $ となるような $ l,r $ で、 $ a_i\ =\ k $ かつ $ l≦\ i\ ≦\ r $ を満たすものが存在するような $ (l,r) $ の組の数を高橋くんは求めます。
連続する部分列の中身が同じでも、$ (l,r) $ の組が異なれば異なるものとして認識することに注意してください。 高橋くんの動作を確認するためのプログラムを書いてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ C $ $ a_1 $ $ a_2 $ … $ a_N $
- $ 1 $ 行目には、数列の長さ $ N\ (1\ ≦\ N\ ≦\ 10^5) $ と数列の要素の最大値 $ C\ (1\ ≦\ C\ ≦\ N) $ がスペース区切りで与えられる。
- $ 2 $ 行目には、高橋くんが受け取った数列の要素の数を表す $ N $ 個の数が空白区切りで与えられる。$ 1\ ≦\ a_i\ ≦\ C $ であることが保証される。また、$ 1 $ 以上 $ C $ 以下のすべての整数 $ k $ に対し、 $ a_i\ =\ k $を満たす $ i $ が存在することが保証される。
Output Format
$ i\ (1\ ≦\ i\ ≦\ C) $ 行目には、$ \{a_N\} $ のうち $ i $ を含む連続する部分列の数を出力せよ。
末尾の改行を忘れないこと。また、それぞれの行の末尾に余計な空白を付け加えないこと。
Explanation/Hint
### 部分点
この問題には部分点が設定されている。
- $ 30 $ 点分のテストケースにおいて、$ 1≦C≦20 $ を満たす。
### Sample Explanation 1
$ 1 $ を含む連続する部分列として当てはまるものは、 $ (l,r)=(1,1),(1,2),(1,3),(1,4),(2,4),(3,4),(4,4) $ $ 2 $ を含む連続する部分列として当てはまるものは、 $ (l,r)=(1,2),(1,3),(1,4),(2,2),(2,3),(2,4),(3,3),(3,4) $ です。