파일 업로드

식사 대기 시간

profile
실행 시간 제한메모리 제한
2 초512 MB
📃 해결할 문제

셰프 병철은 국가대표 선수들을 위해 특별한 음식을 대접하기로 한다. 셰프 병철의 레스토랑에는 특별한 음식이 있는데, 이것은 세계에서 가장 맛있는 음식이라고 한다. 식사에 참석한 모든 NN (1N1051 \leq N \leq 10^5)명의 선수들은 모두 이 음식을 시식하고 싶어한다. 하지만 레스토랑이 매우 작아 한 번에 한 명만 수용할 수 있기 때문에 긴 대기 줄이 형성될 것으로 보입니다.

병철은 각 선수 ii가 레스토랑에 도착하는 데 걸리는 시간 aia_i와 자신의 차례가 되면 특별한 음식을 시식하는 데 소요되는 시간 tit_i를 알고 있다. 선수 ii가 음식을 먹기 시작하면, 그녀는 퇴장하기 전에 tit_i의 전체 시간을 보낸다, 그 동안 다른 도착하는 선수들은 기다려야 한다. 

만약 레스토랑이 다시 시식 가능해지는 시점에 여러 선수들이 기다리고 있다면, 가장 연장자인 선수가 다음으로 음식을 시식하게 된다. 이를 위해, 한 선수가 끝나는 순간에 바로 도착한 선수는 "대기 중"으로 간주된다. 비슷하게, 한 선수가 현재 먹고 있지 않은 동안에 정확히 같은 시간에 도착하는 여러 선수들 중에서, 가장 연장자인 선수가 다음에 먹게 된다.

선수들 중에서 어느 선수가 가장 오랜 시간을 대기하게 되는지를 계산해주십시오(시간 aia_i와 선수가 먹기 시작하는 시간 사이).

💻 입력

입력의 첫 줄에는 NN이 있습니다. 다음 NN 줄에는 순차적으로 연장자 순서로 NN 선수의 세부 정보가 지정되어 있습니다(가장 나이 많은 선수가 처음). 각 줄에는 한 선수에 대한 aia_itit_i가 있습니다. tit_i는 양의 정수이며 각각 최대 10410^4이고, aia_i는 각각 최대 10910^9의 양의 정수입니다.

🖨️ 출력

모든 선수들에 대해 가장 긴 잠재적 대기 시간을 출력하십시오.


💻 예제 입력 1
5
25 3
105 30
20 50
10 17
100 10
🖨️ 예제 출력 1
10

💡 힌트

이 예시에서, 우리는 5명의 선수들을 가지고 있습니다(입력의 순서대로 1..5로 번호가 매겨져 있습니다). 

선수 4는 처음에 도착합니다(시간 10에 ), 그리고 그녀가 먹는 것을 끝낼 수 있으려고 할 때(시간 27에) 선수 1과 3 둘 다 도착합니다. 

선수 1은 연장자이므로, 그녀는 도착 시간을 넘어 2 단위의 시간을 기다린 후에 다음으로 먹게 됩니다. 

그녀는 시간 30에 끝내고, 그리고 그 때 선수 3이 먹기 시작하고, 그녀의 시작 시간을 넘어 10 단위의 시간을 기다립니다. 

선수가 먹지 않는 간격이 나타나고, 선수 5가 도착하고 그녀가 먹는 동안 선수 2가 도착하여, 5 단위 시간 후에 먹게 됩니다. 

도착 시간에 비해 가장 많이 지연되는 선수는 선수 3입니다.


출처: USACO 2018 December Contest, Silver Problem 2. Convention II