結果
問題 | No.2195 AND Set |
ユーザー | Hydru |
提出日時 | 2023-01-20 21:36:03 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 689 ms / 2,000 ms |
コード長 | 720 bytes |
コンパイル時間 | 165 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 87,540 KB |
最終ジャッジ日時 | 2024-06-23 09:29:42 |
合計ジャッジ時間 | 9,697 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 13 |
ソースコード
bit=[0 for _ in range(30)] q=int(input()) S=set() for _ in range(q): A=list(map(int,input().split())) if A[0]==1: x=A[1] if x in S: continue S.add(x) cnt=0 while(x>0): bit[cnt]+=x%2 x//=2 cnt+=1 if A[0]==2: x=A[1] if x not in S: continue S.remove(x) cnt=0 while(x>0): bit[cnt]-=x%2 x//=2 cnt+=1 if A[0]==3: L=len(S) if L==0: print(-1) continue cnt=0 b_and=0 for i in range(30): if bit[i]==L: b_and+=2**i print(b_and)