初めに
atcoder.jp 解説放送で AC です
解法
中央値の最大化で手が止まります.
では最小値の最大化は? 二分探索ですね
同様にできます. 具体的には, := を適当に xor を取ったもので 以上が何個作れるか という関数を考えます.
この値が 以上であれば, 中央値が X 以上に大きくすることができます.
なのでこの を実装することができれば, 答えで二分探索をすることによって正答が得られます.
これは を上位 bit から見ていき, 再帰的に数えていくことで実装できます.
終わりに
判定関数の実装, どこで練習できますか...?