AT_jsc2019_final_c Maximize Minimum

Description

[problemUrl]: https://atcoder.jp/contests/jsc2019-final/tasks/jsc2019_final_c 高橋くんは、長さ $ L $ の横に長いケーキを持っています。 このケーキの左端から距離 $ x $ の点を、座標 $ x $ の点と呼ぶことにします。 最初、このケーキの上には $ 1 $ つだけイチゴが置かれていて、その座標は $ X $ です。 高橋くんはこれから、$ N $ 回の操作を行います。 具体的には、$ i $ ($ 0\ \leq\ i\ \leq\ N-1 $) 回目の操作では以下のことをします。 - 座標 $ A_i $ にイチゴが置かれていない場合: 座標 $ A_i $ にイチゴを置く。 - 座標 $ A_i $ にイチゴが置かれている場合: 座標 $ A_i $ にあるイチゴを取り除く。 なお、それぞれの操作のあと、ケーキの上に $ 2 $ つ以上のイチゴが置かれていることが保証されます。 あるケーキの**美しさ**を、以下のように定義します。 - 次の操作を何回でも自由に行えるとした時、「最も近い $ 2 $ つのイチゴの間の距離」としてありうる最大の値がケーキの美しさになる。 - 座標 $ x $ に置かれているイチゴを、座標 $ L-x $ に移動する。なお、移動先に別のイチゴが置かれている場合は操作を行えない。 全ての $ i $ ($ 0\ \leq\ i\ \leq\ N-1 $) について、$ i $ 回目の操作のあとのケーキの美しさを求めてください。 なお、ケーキの美しさを求める際に、実際にイチゴを動かすことはありません。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ L $ $ X $ $ A_0 $ $ A_1 $ $ \vdots $ $ A_{N-1} $

Output Format

$ N $ 行出力せよ。$ i+1 $ ($ 0\ \leq\ i\ \leq\ N-1 $) 行目には、$ i $ 回目の操作が終わったあとのケーキの美しさを出力せよ。

Explanation/Hint

### 制約 - $ 1\ \leq\ N\ \leq\ 2\ \times\ 10^5 $ - $ 1\ \leq\ L\ \leq\ 10^9 $ - $ 0\ \leq\ X\ \leq\ L $ - $ 0\ \leq\ A_i\ \leq\ L $ - 全ての $ i $ ($ 0\ \leq\ i\ \leq\ N-1 $) について、$ i $ 回目の操作のあとにケーキの上に $ 2 $ つ以上のイチゴが置かれている。 - 入力される値はすべて整数である。 ### Sample Explanation 1 例えば、$ 1 $ 回目の操作が終わった時、ケーキの上には $ 3 $ つのイチゴが置かれており、その座標は $ 0,6,9 $ です。 座標 $ 6 $ にあるイチゴを座標 $ 4 $ に動かすと、イチゴの座標は $ 0,4,9 $ になります。 このとき、「最も近い $ 2 $ つのイチゴの間の距離」は $ 4 $ になり、これが最大です。 よって、このケーキの美しさは $ 4 $ です。