問題一覧 > 通常問題

No.3219 Ruler to Maximize

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 78
作問者 : Nauclhlt🪷 / テスター : 👑 p-adic
ProblemId : 12379 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2025-08-01 21:38:53

問題文

長さ $N$ の数列 $A=(A_1, A_2, \cdots, A_N)$ があります。

いま、しきさんは数列 $A$ を白黒つけようとしています。

ここで、数列を白黒つけるとは以下の操作をいいます。

  • 数列の各要素に白または黒を割り当てる。ただし、以下の条件を満たすようにする
    • 白, 黒が割り当てられた要素の総bitwise orをそれぞれ $W, B$ (すべて黒を割り当てた時は $W=0$、同様にすべて白の場合は $B=0$) としたとき、$W\mathbin{\&}B=0$

ただし、$X\mathbin{\&}Y$ で $X$ と $Y$ のbitwise andを表す。

しきさんが数列 $A$ を白黒つけたとき、$W\times B$ としてあり得る最大値を求めてください。また、最大値を達成するような色の割り当てをひとつ求めてください。

入力

$N$
$A_1\ A_2\ \cdots\ A_N$
  • $1\leq N\leq 100$
  • $0\leq A_i\leq 4000$
  • 入力は全て整数

出力

$W\times B$ としてあり得る最大値を $M$、それを達成する色の割り当てについて、$A_i$ に割り当てられた色が白なら $S_i=$W、黒なら$S_i=$Bを満たすような文字列 $S$ を次の形式で出力してください。

$S$ として考えられるものが複数あるなら、そのどれを出力しても良いです。

$M$
$S$

最後に改行してください。

サンプル

サンプル1
入力
3
4 2 2
出力
8
WBB

$A_1$ に白、$A_2, A_3$ に黒を割り当てるとそれぞれ総bitwise orは $4, 2$ となり、$W\times B=4\times 2=8$ です。$8$ より大きい値を達成することはできないため、$8$ が答えです。

サンプル2
入力
3
60 3 64
出力
4032
BBW

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