#arc152e. [arc152_e]Xor Annihilation
[arc152_e]Xor Annihilation
問題文
数直線上の の位置に 個のボールが並んでおり、 にあるボールは の重みを持っています。ただし、 は から までの整数を並び替えた数列です。 さらに、あなたは 以下の負でない整数 を つ選び、座標 にそれぞれ の重みを固定します。 その後、各ボールは次の規則にしたがって、一斉に運動を始めます。
- 各時点で、ボールの存在している座標より真に右側にある座標・ボールの重みの総 を 、真に左側にある座標・ボールの重みの総 を とすると、このボールは であれば右側に、 であれば左側に毎秒 の速さで動き、 であれば静止する。
- 左右から来たボールが同じ座標に到達したときなど、同じ座標に同時に複数のボールが存在した場合、これらのボールは合体し、その重みは合体前の重みの総 となる。
このとき、 秒以内に全てのボールが静止するような はいくつあるでしょうか。
とは
非負整数 のビット単位 、 は、以下のように定義されます。
- を二進表記した際の () の位の数は、 を二進表記した際の の位の数のうち一方のみが であれば 、そうでなければ である。
例えば、 となります (二進表記すると: )。
一般に 個の非負整数 のビット単位 は $(\\dots ((p_1 \\oplus p_2) \\oplus p_3) \\oplus \\dots \\oplus p_k)$ と定義され、これは の順番によらないことが証明できます。
制約
- のとき
- 入力される値はすべて整数である
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを整数で出力せよ。
入力例 1
2
1 2 3
出力例 1
1
の重みを持つボールを単に と呼びます。
例えば とした場合、はじめ と は右向きに、 は左向きに動きます。 すると と がぶつかって合体し、この瞬間から左向きに動き始めます。 そののち、 から まで全てのボールが合体した瞬間に合体後のボールは静止します。 したがって、 は条件を満たします。
また、 とした場合、 と は左向き、 は右向きに、固定した重みに向かって 秒程度動き続けることになります。 したがって、 は条件を満たしません。
実は のみが条件を満たすため、 と答えてください。
入力例 2
3
7 1 2 3 4 5 6
出力例 2
2