結果
問題 | No.649 ここでちょっとQK! |
ユーザー |
|
提出日時 | 2022-01-09 22:53:52 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 425 ms / 3,000 ms |
コード長 | 844 bytes |
コンパイル時間 | 350 ms |
コンパイル使用メモリ | 82,200 KB |
実行使用メモリ | 168,156 KB |
最終ジャッジ日時 | 2024-11-14 10:35:02 |
合計ジャッジ時間 | 8,482 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 32 |
ソースコード
import sysr = sys.stdinQ,K = map(int,r.readline().split())l = []s = set()for _ in range(Q):a = list(map(int,r.readline().split()))if a[0] == 1:l.append(a[1])s.add(a[1])else:l.append(-2)D = {v:i+1 for i,v in enumerate(sorted(s))}rD = {i+1:v for i,v in enumerate(sorted(s))}n = len(D)bit = [0] * (n +1)def add(i,x):while i <= n:bit[i] += xi += i &-idef lb(w):if w <= 0:return 0k = 1while k <= n:k <<= 1k >>= 1x = 0while k > 0:if x + k <= n and bit[x+k] < w:w -= bit[x+k]x += kk >>= 1return x + 1for v in l:if v != -2:add(D[v],1)else:x = lb(K)if x == n + 1:print(-1)else:print(rD[x])add(x,-1)