結果
| 問題 |
No.2195 AND Set
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-01-20 21:31:35 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 736 ms / 2,000 ms |
| コード長 | 698 bytes |
| コンパイル時間 | 568 ms |
| コンパイル使用メモリ | 82,560 KB |
| 実行使用メモリ | 87,524 KB |
| 最終ジャッジ日時 | 2024-06-23 09:24:29 |
| 合計ジャッジ時間 | 10,002 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 13 |
ソースコード
q = int(input())
res = 1 << 30
seen = set()
D = [0 for _ in range(30)]
for _ in range(q):
L = list(map(int, input().split()))
if L[0] == 1:
x = L[1]
if x not in seen:
seen.add(x)
for i in range(30):
D[i] += x % 2
x //= 2
elif L[0] == 2:
x = L[1]
if x in seen:
seen.remove(x)
for i in range(30):
D[i] -= x % 2
x //= 2
else:
if len(seen) == 0:
print(-1)
continue
ans = 0
num = len(seen)
for i in range(30):
if D[i] == num:
ans += 1 << i
print(ans)