문제 3136 · 비트 IV
버스의 가장 붐빈 출발
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
마을을 지나는 한 버스 노선에서는 승객 수에 맞춰 안내 인력을 배치하려 한다. 담당자는 버스가 정류장을 떠날 때마다 안에 타고 있는 승객 수를 확인하고, 그중 가장 큰 값을 기록하기로 했다. 버스의 좌석 수나 서 있는 승객의 수는 따로 구분하지 않으며, 버스 안에 있는 모든 승객을 한 명씩 센다. 운전자는 승객 수에 포함하지 않는다. 이번에 살펴볼 운행 기록에는 방문 순서대로 N개의 정류장이 들어 있다. 버스는 첫 번째 정류장에 도착하기 직전에는 승객이 한 명도 없는 상태다. 각 정류장에서는 먼저 일부 승객이 내리고, 그다음 새로운 승객이 탄다. 정류장에서 내리는 사람 수와 타는 사람 수는 각각 정수로 기록되어 있다. 아무도 내리지 않거나 아무도 타지 않는 정류장도 있을 수 있다. 정류장과 정류장 사이에서는 승객이 타거나 내리지 않는다. 따라서 어떤 정류장을 떠난 직후의 승객 수는 다음 정류장에 도착할 때까지 그대로 유지된다. 각 정류장에서 내리는 사람 수는 그 정류장에 도착했을 때 버스 안에 있던 승객 수를 넘지 않는다. 또한 승객이 모두 타고 난 뒤 버스 안의 승객 수는 항상 1,000 이하가 되도록 기록이 주어진다. 담당자가 비교하는 값은 각 정류장에서 내릴 사람과 탈 사람의 이동이 모두 끝난 직후의 승객 수다. 승객이 내리기만 한 중간 순간의 수를 따로 기록하지 않는다. N번째 정류장 이후에도 버스는 운행을 이어 가므로, 마지막 기록에서 모든 승객이 내려야 하는 것은 아니다. 마지막 정류장을 떠날 때의 승객 수도 비교 대상에 포함한다. 방문한 정류장들의 기록이 주어졌을 때, 정류장을 떠난 직후의 승객 수 중 최댓값을 구하는 프로그램을 작성한다. 같은 최댓값이 여러 번 나타나더라도 그 값만 한 번 출력한다. 모든 기록에서 타는 사람이 없어 승객 수가 계속 0이었다면 0을 출력한다.
입력
첫째 줄에 정류장 수를 나타내는 정수 N이 주어진다. 다음 N개 줄의 i번째 줄에 i번째 정류장에서 내리는 사람 수 D_i와 타는 사람 수 U_i가 공백으로 구분되어 주어진다. 1 ≤ N ≤ 1,000 0 ≤ D_i, U_i ≤ 1,000 첫 번째 정류장 도착 직전의 승객 수는 0이다. 각 D_i는 해당 정류장 도착 시의 승객 수 이하이며, 각 정류장에서 승하차를 마친 직후의 승객 수는 0 이상 1,000 이하임이 보장된다.
출력
각 정류장을 떠난 직후의 승객 수 중 최댓값을 정수 하나로 출력한다.
예제 입력 1
4 0 7 2 3 5 1 1 0
예제 출력 1
8
예제 입력 2
3 0 0 0 0 0 0
예제 출력 2
0
힌트 펼치기
- 현재 승객 수에서 내리는 사람 수를 빼고 타는 사람 수를 더한다.
- 각 정류장의 처리가 끝날 때마다 지금까지의 최댓값을 갱신한다.
관련 서재 장
알고리즘 분류
반복문누적구현풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |