630. Course Schedule III (Hard) - TengnanYao/daily_leetcode GitHub Wiki

class Solution:
    def scheduleCourse(self, courses: List[List[int]]) -> int:
        courses.sort(key = lambda x : x[1])
        heap = []
        t = 0
        for a, b in courses:
            t += a
            heapq.heappush(heap, -a)
            if b < t:
                t += heapq.heappop(heap)
        return len(heap)