Module: 動的プログラミングのパターン


Problem

2 /7


コンフォート ライド マックス

Problem

Max は電車の始発駅にいて、n 人 (Max 自身を含む) が乗りたいと思っています。彼らはすでにある順序で並んでおり、それぞれが行き先の市外局番 ai を知っています。

列車の先頭は、元の人々のシーケンスから特定の数の交差しないセグメントを選択します (セグメントは、シーケンス全体をカバーする必要はありません)。同じ区間にいる人は同じ電車に乗ります。セグメントは、少なくとも 1 人が都市 X に行く場合、都市 X に行くすべての人が同じ車に乗る必要があるように選択されます。これは、異なるセグメントに属する権利がないことを意味します。都市Xに行くすべての人は、そこに行き、同じ車に乗っているか、どこにも行かないことに注意してください.

l から r までの区間の人々と一緒に電車で移動する快適さは、l から r までの区間の人々の異なる都市コードの XOR に等しくなります。 XOR 演算は、ビットごとの排他的 OR とも呼ばれます。

選択したセグメントの全体的な快適性は、個々のセグメントの快適性の合計として計算されます。

マックスが達成可能な最大の全体的な快適さを見つけるのを手伝ってください。

入力:
最初の行には、自然数 n - 人数が含まれています。
2 行目には n 個の整数 ai (0 <= ai <= 5000) - i 番目の人が行く都市のコードが含まれます。< br />
出力:
整数を 1 つ出力 - 全体的な快適さの最大値。

例:
  <本体>
入力 出力
6
4 4 2 5 2 3
14
9
5 1 3 1 5 2 4 2 5
9