問題一覧 > 通常問題

No.3550 Another Rurumaru Function Problem

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 1024 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 25
作問者 : 👑 loop0919 / テスター : ルク ぽえ
ProblemId : 13288 / yukicoder contest 500 (順位表) / 自分の提出
問題文最終更新日: 2026-04-24 21:24:58
yukicoder contest 500の他の問題:

問題文

非負整数 $x, y$ に対し、 $f(x, y)$ を以下のように定義された非負整数とします。

  • $f(x, y)$ を二進表記したときの $2^{i} ~ (i \ge 0)$ の位の値は、
    • $i$ が偶数ならば、$x$ の $2^i$ の位の値と $y$ の $2^i$ の位の値の論理積(AND)を取った値。
    • $i$ が奇数ならば、$x$ の $2^i$ の位の値と $y$ の $2^i$ の位の値の論理和(OR)を取った値。

例えば、$f(2, 14) = 10$ です。(二進表記にすると $f(0010_{(2)}, 1110_{(2)}) = 1010_{(2)}$ となります。)

また、長さ $n$ ($n$ は正整数) の非負整数列 $X = (X_1, X_2, \cdots, X_n)$ に対し、 $F(X)$ を以下のように定義します。

  • 次のように定義された漸化式における $S_n$ の値を $F(X)$ とする。
    • $S_1 = X_1$
    • $S_k = f(S_{k - 1}, X_k) ~ (2 \le k \le n)$

正整数 $N$ と、長さ $N$ の非負整数列 $A = (A_1, A_2, \cdots, A_N)$ が与えられます。
$A$ の (連続とは限らない) 非空な部分列 $B$ に対する $F(B)$ としてあり得る最大値を求めてください。

制約

  • 入力される値はすべて整数
  • $1 \leq N \leq 2 \times 10^5$
  • $0 \leq A_i \lt 2^{30}$

入力

入力は以下の形式で標準入力から与えられる。

$N$
$A_1$ $A_2$ $\ldots$ $A_N$

出力

答えを出力せよ。

サンプル

サンプル1
入力
6
3 1 4 1 5 9
出力
11

$B = (3, 5, 9)$ を選ぶことで、 $f(f(3, 5), 9) = f(3, 9) = 11$ と計算できます。 $12$ 以上にすることはできないので、これが最大値です。

サンプル2
入力
9
61592839 1004089375 929012897 646655148 1000433956 144172676 612284310 630893723 470961345
出力
1041927329

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。