結果
問題 | No.2071 Shift and OR |
ユーザー |
![]() |
提出日時 | 2022-09-17 00:41:01 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 213 ms / 2,000 ms |
コード長 | 490 bytes |
コンパイル時間 | 604 ms |
コンパイル使用メモリ | 82,048 KB |
実行使用メモリ | 100,736 KB |
最終ジャッジ日時 | 2024-12-21 23:52:15 |
合計ジャッジ時間 | 5,225 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 37 |
ソースコード
N=int(input()) A=list(map(int, input().split())) if N>15: print(2**16-1) exit() from collections import deque D=[0]*(2**16) D[0]=1 d=deque() d.append(0) def f(x): return x//2+(2**15)*(x%2) for i in range(N): nd=deque() while d: now=d.popleft() a=A[i] nd.append(now) for j in range(16): dd=now|a if D[dd]==0: D[dd]=1 nd.append(dd) a=f(a) d=nd ans=0 for i in range(2**16): if D[i]==1: ans=max(ans,i) print(ans)