貪欲法

F - タスクの消化

O(N)

import math
import heapq
import itertools
from functools import reduce

# main
def main():
    N = int(input())
    X = []

    for i in range(0, N):
        X.append([])

    for i in range(0, N):
        a, b = list(map(int, input().split()))
        X[a-1].append(b)

    cnt = [0] * 101
    ans = 0
    for d in range(N):
        for b in X[d]:
            cnt[b] += 1

        for b in range(100, 0, -1):
            if cnt[b] > 0:
                ans += b
                cnt[b] -= 1
                break
        print(ans)

# エントリポイント
if __name__ == '__main__':
    main()