import heapq
from collections import deque 

def solution(jobs) :
    n = len(jobs)
    jobs.sort()
    jobs = deque(jobs)
    time = 0
    ready = []
    running = ()
    answer = 0
    while jobs or running :
        while jobs and jobs[0][0] == time : 
#여기서 if 를 사용했는데 같은 시점에 시작되는게 여러게 있을 수 있으므로 while로 같은 시간에 시작하는 것을 여러개 들고온다.
            temp = jobs.popleft()
            heapq.heappush(ready, (temp[1], temp[0]))
        if running and running[2] + running[0] == time :
                answer += (time - running[1])
                running = ()
        if not running and ready :
            temp = heapq.heappop(ready)
            running = (temp[0], temp[1], time)
        time += 1
    return answer // n