結果
| 問題 |
No.2804 Fixer And Ratism
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-07-01 15:25:52 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 1,230 ms / 2,000 ms |
| コード長 | 884 bytes |
| コンパイル時間 | 161 ms |
| コンパイル使用メモリ | 82,232 KB |
| 実行使用メモリ | 77,892 KB |
| 最終ジャッジ日時 | 2024-07-11 23:10:30 |
| 合計ジャッジ時間 | 14,081 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 31 |
ソースコード
N,Q=map(int,input().split())
assert 1<=N<=100
assert 1<=Q<=100000
beforeuser=set()
beforerate=set()
there=[]
for _ in range(Q):
t,*q=input().split()
if t=="1":
assert 0<=int(q[1])<=4000
assert int(q[1]) not in beforerate
beforerate.add(int(q[1]))
assert q[0] not in beforeuser
beforeuser.add(q[0])
assert len(beforeuser)<=100
there.append((int(q[1]),q[0]))
elif t=="2":
N-=int(q[0])
else:
assert q[0] in beforeuser
N+=int(q[1])
for i in range(len(there)):
if there[i][1]==q[0]:
there[i]=(there[i][0]%998244353+998244353,q[0])
assert N>=1
there.sort(reverse=True)
goodbye=[]
while len(there)>N:
goodbye.append((there[-1][0]%998244353,there[-1][1]))
there.pop()
goodbye.sort()
for i in goodbye:
print(i[1])