結果

問題 No.3219 Ruler to Maximize
ユーザー titia
提出日時 2025-08-02 00:55:01
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 60 ms / 2,000 ms
コード長 618 bytes
コンパイル時間 346 ms
コンパイル使用メモリ 82,688 KB
実行使用メモリ 69,412 KB
最終ジャッジ日時 2025-08-02 00:55:05
合計ジャッジ時間 4,037 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 32
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
input = sys.stdin.readline

N=int(input())
A=list(map(int,input().split()))

ANS=0
IND=["W"]*N
for i in range(1<<12):
    rest=((1<<12)-1)^i

    flag=1

    W=0
    H=0

    L=[""]*N

    for ix in range(N):
        a=A[ix]
        if ((a & i) == 0) and ((a&rest)==a):
            W|=a
            L[ix]="W"
            continue
        if ((a & i) == a) and ((a&rest)==0):
            H|=a
            L[ix]="B"
            continue
        flag=0

    #print(i,rest,W,H,flag)
    #print(flag,W,H)

    if flag:
        if W*H>ANS:
            ANS=W*H
            IND=L[:]

print(ANS)
print("".join(IND))
0