본문으로 이동
코드패스 by Devin.KR

문제 3992 · 바이트 IV

정차 뒤의 승객 기록

인증 제출 통계 · 5분마다 갱신 · 정답 비율 = 정답 제출 / 전체 제출
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1000ms / 테스트 (언어별 보정은 아래 표)메모리: 측정하지 않음(브라우저 채점)0000.00%

문제

한 지하철 열차가 승객이 없는 상태로 출발하여 N개의 역에 차례대로 정차한다. 운행 기록에는 각 역에서 내린 승객 수와 탄 승객 수가 적혀 있다. 기록을 확인하는 담당자는 각 역에서 승객의 이동이 모두 끝난 직후 열차 안에 남은 승객 수를 구하려 한다. 역에는 방문한 순서대로 1번부터 N번까지 번호가 붙어 있다. 각 역에서는 내릴 승객이 먼저 모두 내린 뒤, 탈 승객이 모두 탄다. i번 역에서 내리는 승객 수를 A_i, 타는 승객 수를 B_i라고 한다. A_i는 그 역에 도착했을 때 열차 안에 있는 승객 수를 넘지 않는다. 따라서 기록을 순서대로 처리하면 열차 안의 승객 수가 음수가 되는 일은 없다. 마지막 역에서도 승객이 남아 있을 수 있으며, 모든 승객이 내려야 한다는 조건은 없다. 담당자는 이 기록으로 세 가지 값을 작성한다. 첫 번째 값은 각 역에서 승객의 이동이 모두 끝난 직후의 승객 수 중 최댓값이다. 두 번째 값은 그 최댓값을 처음 기록한 역의 번호이다. 같은 최댓값을 여러 역에서 기록했다면 번호가 가장 작은 역을 선택한다. 세 번째 값은 모든 역에서 승객의 이동이 끝난 직후의 승객 수를 각각 한 번씩 더한 합이다. 세 번째 값은 서로 다른 승객의 수를 뜻하지 않는다. 한 승객이 여러 역을 계속 지나면 해당 승객은 그 역들의 기록에 반복해서 포함된다. 출발 전 승객 수인 0은 합에 따로 더하지 않으며, N번 역의 승객 수는 합에 포함한다. 또한 첫 번째 값은 역 사이의 변화나 하차 직후의 상태가 아니라 승차까지 모두 끝난 상태만 비교하여 구한다. 모든 역의 기록이 0명이라면 최댓값은 0이고 이를 처음 기록한 역은 1번 역이다. 운행 기록을 읽고 세 값을 구하는 프로그램을 작성한다.

입력

첫째 줄에 역의 수 N이 주어진다. 다음 N개 줄 중 i번째 줄에 A_i와 B_i가 공백으로 구분되어 주어진다. 모든 입력값은 정수이며 1≤N≤30,000, 0≤A_i,B_i≤1,000이다. A_i는 i번 역에 도착했을 때의 승객 수 이하임이 보장된다. 열차는 승객이 없는 상태에서 시작한다.

출력

최대 승객 수, 그 최댓값을 처음 기록한 역의 번호, 각 역에서 승객의 이동이 끝난 직후의 승객 수를 모두 더한 값을 이 순서대로 공백으로 구분하여 한 줄에 출력한다. 합은 32비트 부호 있는 정수의 범위를 넘을 수 있다.

예제 입력 1

5
0 4
1 2
3 0
0 3
5 1

예제 출력 1

5 2 17

예제 입력 2

3
0 0
0 0
0 0

예제 출력 2

0 1 0

예제 입력 3

1
0 7

예제 출력 3

7 1 7
힌트 펼치기
  • 현재 승객 수에서 내린 사람을 빼고 탄 사람을 더한 뒤, 최댓값과 합을 갱신한다.

관련 서재 장

관련 장

출처: Devin.KR 자체 제작

알고리즘 분류구현누적 합

풀이 작성

연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.

Python 기본 시간 제한 = 문제 시간 제한 × 3 + 2초. 문제별 예외는 아래 표에 반영됩니다. 표준 라이브러리만 지원합니다.

Ctrl+Enter: 연습 채점 · Tab: 들여쓰기 · Esc 후 Tab: 다음 요소로 이동. 언어별 초안은 이 브라우저에 저장됩니다. JavaScript 입력: require('fs').readFileSync(0, 'utf8'), readline 또는 input().

로그인하면 인증 제출을 사용할 수 있습니다.

풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.

    연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.

    이 브라우저의 연습 기록

      언어별 제한

      테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.

      언어엔진(버전)시간 제한메모리
      javascript사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름)1000ms / 테스트측정하지 않음(브라우저 채점)
      pythonPyodide 314.0.7 (CPython 3.14 WASM)5000ms / 테스트측정하지 않음(브라우저 채점)