提出 #78209030
ソースコード 拡げる
Copy
N,Q=map(int,input().split())A=[0]*(N+1)over_one=[]#いま値が1以上になっている=減らしたい番号ans=0#ぜんぶ0ってことは、今ぜんぶのXORは0?だよね?for i in range(Q):query=list(map(int,input().split()))if query[0]==1:x=query[1]ans^=A[x]#変更したい番号ぶんのXORを取り除く、取り除いて操作?するA[x]+=1;ans^=A[x] #query1の操作、+=1をして、またXORに加える#0→1に増えた!1以上リストに入れた方がいいif A[x]==1:over_one.append(x)else:over_one_more=[] #減らしたあとも0にならない、2以上だったものたち
N,Q=map(int,input().split())
A=[0]*(N+1)
over_one=[]
#いま値が1以上になっている=減らしたい番号
ans=0
#ぜんぶ0ってことは、今ぜんぶのXORは0?だよね?
for i in range(Q):
query=list(map(int,input().split()))
if query[0]==1:
x=query[1]
ans^=A[x]
#変更したい番号ぶんのXORを取り除く、取り除いて操作?する
A[x]+=1;ans^=A[x] #query1の操作、+=1をして、またXORに加える
#0→1に増えた!1以上リストに入れた方がいい
if A[x]==1:
over_one.append(x)
else:
over_one_more=[] #減らしたあとも0にならない、2以上だったものたち
#query2の操作、1以上のものはすべて減らすぜのターン
for m in over_one:
ans^=A[m];A[m]-=1
ans^=A[m]
if A[m]>=1:
over_one_more.append(m)
over_one=over_one_more
print(ans)
提出情報
| 提出日時 | |
|---|---|
| 問題 | C - Inc, Dec, Xor |
| ユーザ | watacco |
| 言語 | Python (PyPy 3.11-v7.3.20) |
| 得点 | 300 |
| コード長 | 946 Byte |
| 結果 | AC |
| 実行時間 | 1190 ms |
| メモリ | 136448 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 300 / 300 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00_sample_00.txt | AC | 52 ms | 79620 KiB |
| 00_sample_01.txt | AC | 52 ms | 79588 KiB |
| 01_random_00.txt | AC | 1072 ms | 112608 KiB |
| 01_random_01.txt | AC | 1080 ms | 112624 KiB |
| 01_random_02.txt | AC | 1107 ms | 112780 KiB |
| 01_random_03.txt | AC | 1160 ms | 134196 KiB |
| 01_random_04.txt | AC | 1094 ms | 112620 KiB |
| 01_random_05.txt | AC | 1133 ms | 112932 KiB |
| 01_random_06.txt | AC | 1123 ms | 112772 KiB |
| 01_random_07.txt | AC | 1139 ms | 112956 KiB |
| 01_random_08.txt | AC | 1149 ms | 112876 KiB |
| 01_random_09.txt | AC | 1167 ms | 112692 KiB |
| 01_random_10.txt | AC | 1141 ms | 112980 KiB |
| 01_random_11.txt | AC | 1190 ms | 136448 KiB |
| 01_random_12.txt | AC | 1138 ms | 133868 KiB |