AT_abc347_e [ABC347E] Set Add Query
Description
[problemUrl]: https://atcoder.jp/contests/abc347/tasks/abc347_e
全ての要素が $ 0 $ で初期化された長さ $ N $ の整数列 $ A=(A_1,A_2,\ldots,A_N) $ があります。また、集合 $ S $ があります。はじめ $ S $ は空です。
以下の $ Q $ 個のクエリを順に行います。$ Q $ 個のクエリを全て処理した後の数列 $ A $ の各要素の値を求めてください。 $ i $ 番目のクエリは以下の形式です。
- 整数 $ x_i $ が与えられる。整数 $ x_i $ が $ S $ に含まれる場合、$ S $ から $ x_i $ を削除する。そうでない場合、$ S $ に $ x_i $ を追加する。次に、$ j=1,2,\ldots,N $ について、$ j\in\ S $ ならば $ A_j $ に $ |S| $ を加算する。
なお、$ |S| $ は集合 $ S $ の要素数を意味します。例えば $ S=\lbrace\ 3,4,7\rbrace $ のとき、$ |S|=3 $ です。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ Q $ $ x_1 $ $ x_2 $ $ \ldots $ $ x_Q $
Output Format
クエリを全て処理した後の数列 $ A $ を以下の形式で出力せよ。
> $ A_1 $ $ A_2 $ $ \ldots $ $ A_N $
Explanation/Hint
### 制約
- $ 1\leq\ N,Q\leq\ 2\times10^5 $
- $ 1\leq\ x_i\leq\ N $
- 入力される数値は全て整数
### Sample Explanation 1
$ 1 $ 番目のクエリでは、$ S $ に $ 1 $ を追加し、$ S=\lbrace\ 1\rbrace $ となります。その後、$ A_1 $ に $ |S|=1 $ を加算します。$ A=(1,0,0) $ となります。 $ 2 $ 番目のクエリでは、$ S $ に $ 3 $ を追加し、$ S=\lbrace\ 1,3\rbrace $ となります。その後、$ A_1,A_3 $ に $ |S|=2 $ を加算します。$ A=(3,0,2) $ となります。 $ 3 $ 番目のクエリでは、$ S $ から $ 3 $ を削除し、$ S=\lbrace\ 1\rbrace $ となります。その後、$ A_1 $ に $ |S|=1 $ を加算します。$ A=(4,0,2) $ となります。 $ 4 $ 番目のクエリでは、$ S $ に $ 2 $ を追加し、$ S=\lbrace\ 1,2\rbrace $ となります。その後、$ A_1,A_2 $ に $ |S|=2 $ を加算します。$ A=(6,2,2) $ となります。 最終的に、$ A=(6,2,2) $ となります。