結果

問題 No.2804 Fixer And Ratism
コンテスト
ユーザー LyricalMaestro
提出日時 2026-02-05 01:37:48
言語 PyPy3
(7.3.17)
結果
WA  
実行時間 -
コード長 1,542 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 525 ms
コンパイル使用メモリ 82,224 KB
実行使用メモリ 109,540 KB
最終ジャッジ日時 2026-02-05 01:38:06
合計ジャッジ時間 16,724 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample WA * 2 RE * 1
other AC * 2 WA * 9 RE * 2 TLE * 3 -- * 15
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

## https://yukicoder.me/problems/no/2804

import heapq

def main():
    N, Q = map(int, input().split())
    queries = []
    for _ in range(Q):
        values = input().split()
        queries.append(values)

    fixed_members = []
    non_fixed_menbers = []
    fixed_members_set = set()
    member_num = 0

    go_homed = []
    for i, values in enumerate(queries):
        if values[0] == "1":
            _, s, r = values
            r = int(r)
            heapq.heappush(non_fixed_menbers, (r, s))
            member_num += 1
            while member_num > N:
                r, s = heapq.heappop(fixed_members)
                go_homed.append((i, r, s))
                member_num -= 1
        elif values[0] == "2":
            _, x = values
            N -= int(x)
            while member_num > N and len(non_fixed_menbers) > 0:
                r, s = heapq.heappop(non_fixed_menbers)
                if s not in fixed_members_set:
                    go_homed.append((i, r, s))
                    member_num -= 1

            while member_num > N:
                r, s = heapq.heappop(fixed_members)
                go_homed.append((i, r, s))
                member_num -= 1
        elif values[0] == "3":
            _, s, x = values
            x = int(x)
            N += x
            if s not in fixed_members:
                fixed_members_set.add(s)
                heapq.heappush(fixed_members, (r, s))
    
    go_homed.sort()

    for _, _, s in go_homed:
        print(s)










if __name__ == "__main__":
    main()
0