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

문제 3793 · 바이트 V

주차장 할인 적용 순서

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

문제

한 주차장은 하루 동안 출차한 차량의 요금을 정산한다. 정산 기록에는 각 차량의 주차 시간과 할인 대상 여부가 들어 있다. 차량에는 기록에 등장한 순서대로 1번부터 N번까지 번호를 붙인다. 같은 차량이 다시 방문한 경우에도 서로 다른 기록으로 취급하며, 각 기록의 요금은 다른 기록과 관계없이 계산한다. 주차 시간이 30분 이하이면 기본 요금은 0원이다. 주차 시간이 30분을 초과하고 120분 이하이면, 처음 30분을 제외한 시간을 10분 단위로 계산한다. 이때 10분마다 500원을 부과하며, 남는 시간이 10분보다 짧아도 한 단위로 계산한다. 예를 들어 주차 시간이 31분이면 기본 요금은 500원이다. 주차 시간이 120분을 초과하면 처음 120분에 대한 기본 요금은 4,500원이다. 여기에 120분을 초과한 시간을 20분 단위로 계산하여 단위마다 700원을 더한다. 이 구간에서도 남는 시간이 20분보다 짧으면 한 단위로 계산한다. 앞 구간의 10분 단위 규칙을 120분 이후에 계속 적용하지 않는다. 기본 요금을 구한 다음에는 상한과 할인을 순서대로 적용한다. 먼저 기본 요금이 12,000원을 넘으면 12,000원으로 바꾼다. 그다음 할인 대상 차량이면 해당 금액을 2로 나눈 몫을 최종 요금으로 삼는다. 할인 대상이 아니면 상한을 적용한 금액이 그대로 최종 요금이다. 할인 여부는 무료 주차 시간이나 기본 요금 계산 구간을 바꾸지 않는다. 모든 기록의 최종 요금 합계와 최종 요금이 가장 큰 차량을 구한다. 가장 큰 최종 요금이 같은 차량이 여러 대이면 번호가 가장 작은 차량을 선택한다. 기록이 존재하면 모든 요금이 0원이더라도 차량 한 대를 선택한다. 기록이 하나도 없으면 요금 합계와 최대 요금은 0이며, 선택할 차량 번호는 -1이다.

입력

첫째 줄에 정수 N이 주어진다. 0 ≤ N ≤ 10,000이다.
다음 N개 줄에 각 기록의 주차 시간 T와 할인 표시 D가 주어진다. T는 분 단위 정수이며 1 ≤ T ≤ 1,440이다. D는 0 또는 1이며, 1이면 할인 대상이고 0이면 할인 대상이 아니다.

출력

최종 요금 합계, 가장 큰 최종 요금, 선택한 차량 번호를 이 순서대로 공백으로 구분하여 한 줄에 출력한다. N이 0이면 0 0 -1을 출력한다.

예제 입력 1

5
30 0
31 0
120 1
121 0
1440 1

예제 출력 1

13950 6000 5

예제 입력 2

3
31 0
40 0
10 1

예제 출력 2

1000 500 1

예제 입력 3

0

예제 출력 3

0 0 -1
힌트 펼치기
  • 기본 요금 계산, 상한 적용, 할인 적용을 순서대로 수행한다.
  • 차량을 입력 순서대로 보면서 최대 요금이 엄격히 커질 때만 선택한 차량을 바꾼다.

관련 서재 장

관련 장

출처: 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 / 테스트측정하지 않음(브라우저 채점)