박물관에서는 시간대별 입장객과 퇴장객을 기록하여 현재 관람 중인 인원과 혼잡도를 관리한다.
박물관이 문을 열었을 때 관람객이 없다고 가정한다. 시간대별 입장객 수와 퇴장객 수가 주어졌을 때, 다음 정보를 계산하는 프로그램을 작성하시오.
- 모든 시간대의 입장객 수 합계
- 모든 시간대의 퇴장객 수 합계
- 관람객이 가장 많았던 순간의 인원
- 관람객이 가장 많았던 시간대 번호
각 시간대에는 입장객이 먼저 들어오고, 그다음 퇴장객이 나간다. 퇴장객 수는 해당 시간대 입장 처리 후 박물관 안에 있는 인원보다 많지 않다.
관람객이 가장 많았던 인원이 여러 시간대에 기록되면 가장 먼저 해당 인원에 도달한 시간대 번호를 출력한다. 시간대 번호는 첫 번째 시간대를 1번으로 시작한다.
첫째 줄에 시간대의 수 (N)이 주어진다.
다음 (N)개의 줄에는 각 시간대의 입장객 수 (A)와 퇴장객 수 (B)가 공백으로 구분되어 주어진다.
첫째 줄에 총 입장객 수를 출력한다.
둘째 줄에 총 퇴장객 수를 출력한다.
셋째 줄에 관람객이 가장 많았던 순간의 인원을 출력한다.
넷째 줄에 해당 인원을 처음 기록한 시간대 번호를 출력한다.
- (1 \leq N \leq 100)
- (0 \leq A \leq 1000)
- (0 \leq B \leq 1000)
- 모든 시간대에서 퇴장객 수는 입장 처리 후 박물관 안에 있는 인원보다 많지 않다.
5
10 2
5 3
8 4
2 10
6 5
4
3 0
2 1
0 2
4 3
31
24
16
3
9
6
4
2
시간대별 입장객 수의 합계는 (10 + 5 + 8 + 2 + 6 = 31)명이다.
시간대별 퇴장객 수의 합계는 (2 + 3 + 4 + 10 + 5 = 24)명이다.
시간대별 입장 처리 후 퇴장 처리까지 마친 관람객 수는 다음과 같다.
- 1번 시간대: (0 + 10 - 2 = 8)명
- 2번 시간대: (8 + 5 - 3 = 10)명
- 3번 시간대: (10 + 8 - 4 = 14)명
- 4번 시간대: (14 + 2 - 10 = 6)명
- 5번 시간대: (6 + 6 - 5 = 7)명
단, 3번 시간대에는 입장객이 들어온 직후 18명이 박물관 안에 있었다. 따라서 가장 많았던 인원은 18명이고, 해당 시간대는 3번이다.
총 입장객 수는 (3 + 2 + 0 + 4 = 9)명이다.
총 퇴장객 수는 (0 + 1 + 2 + 3 = 6)명이다.
각 시간대의 입장 처리 직후 관람객 수는 3명, 5명, 4명, 7명이다. 퇴장 처리까지 고려하면 가장 많은 인원은 4명이며, 처음 해당 인원에 도달한 시간대는 2번이다.
n = int(input())
current = 0
total_in = 0
total_out = 0
max_visitors = 0
max_time = 0
for i in range(1, n + 1):
a, b = map(int, input().split())
total_in += a
total_out += b
current += a
if current > max_visitors:
max_visitors = current
max_time = i
current -= b
if current > max_visitors:
max_visitors = current
max_time = i
print(total_in)
print(total_out)
print(max_visitors)
print(max_time)