結果
問題 |
No.3249 AND
|
ユーザー |
|
提出日時 | 2025-08-30 02:52:21 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 166 ms / 2,000 ms |
コード長 | 853 bytes |
コンパイル時間 | 248 ms |
コンパイル使用メモリ | 82,796 KB |
実行使用メモリ | 105,628 KB |
最終ジャッジ日時 | 2025-09-05 11:41:10 |
合計ジャッジ時間 | 4,691 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 23 |
ソースコード
import sys input = sys.stdin.readline N = int(input()) B = list(map(int, input().split())) X = [-1 for _ in range(20)] for j in range(N): i = j+1 b = B[j] for k in range(20): ii = (i>>k)&1 bb = (b>>k)&1 if ii==1: if bb==0: if X[k]==1: print(-1) exit() else: X[k] = 0 else: if X[k]==0: print(-1) exit() else: X[k] = 1 else: if bb==1: print(-1) exit() ans = 0 for i in range(20): if X[i]==1: ans |= 1<<i if ans==0: for i in range(20): if X[i]==-1: ans |= 1<<i break if ans==0: print(-1) else: print(ans)