문제 3630 · 바이트 V
주차장 입구의 정산표
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
한 주차장은 입구에 설치된 높이 제한 장치와 차량별 이용 기록을 바탕으로 하루 정산표를 만든다. 정산표에 기록할 차량은 모두 N대이며, 각 차량의 높이 h, 이용 시간 t, 할인증 보유 여부 p가 주어진다. 높이의 단위는 데시미터이고 이용 시간의 단위는 분이다. 모든 차량의 기록은 서로 독립적으로 처리하며, 주차 공간의 수나 차량 사이의 입차 순서는 고려하지 않는다. 주차장의 높이 제한은 H이다. 높이가 H보다 큰 차량은 입차 거절 차량으로 분류한다. 입차 거절 차량은 실제로 주차장을 이용하지 않은 것으로 처리하므로, 함께 주어진 이용 시간과 할인증 보유 여부에 관계없이 요금이 0원이다. 높이가 정확히 H인 차량은 입차할 수 있다. 입차할 수 있는 차량은 처음 30분까지 무료로 이용한다. 이용 시간이 30분을 넘으면 초과한 시간을 10분 단위로 올림하여 단위 수를 구하고, 단위마다 700원을 부과한다. 예를 들어 초과 시간이 1분부터 10분까지이면 한 단위이고, 11분부터 20분까지이면 두 단위이다. 이렇게 구한 요금이 3,000원을 넘으면 요금을 3,000원으로 바꾼다. 그다음 할인증을 가진 차량에는 정해진 요금의 절반만 부과한다. 할인증이 없는 차량에는 정해진 요금을 그대로 부과한다. 요금 상한을 적용한 뒤에 할인을 적용한다는 점에 유의해야 한다. 무료 이용 차량은 할인증이 있어도 요금이 0원이다. 입차 거절 차량 수, 입차할 수 있으면서 최종 요금이 0원인 차량 수, 모든 차량의 최종 요금 합계를 구한다. 입차 거절 차량은 무료 이용 차량 수에 포함하지 않는다. 해당하는 차량이 없는 분류의 수와 받을 요금이 없는 경우의 합계는 각각 0이다.
입력
첫째 줄에 정수 N과 H가 공백으로 구분되어 주어진다. 1 ≤ N ≤ 40,000이고 1 ≤ H ≤ 30이다. 다음 N개 줄에는 각 차량의 정수 h, t, p가 공백으로 구분되어 주어진다. 1 ≤ h ≤ 30이고 1 ≤ t ≤ 99이다. p는 할인증이 없으면 0, 있으면 1이다.
출력
입차 거절 차량 수, 무료 이용 차량 수, 최종 요금 합계를 이 순서대로 한 줄에 공백으로 구분하여 출력한다. 요금의 단위는 원이며 모든 출력값은 정수이다.
예제 입력 1
5 20 21 50 1 20 30 0 18 31 1 19 71 0 17 99 1
예제 출력 1
1 1 4850
예제 입력 2
3 15 16 1 0 30 99 1 15 10 1
예제 출력 2
2 1 0
예제 입력 3
2 30 30 40 0 1 41 1
예제 출력 3
0 0 1400
힌트 펼치기
- 높이 제한을 먼저 검사한다. 초과 시간의 10분 단위 올림은 정수 연산으로 계산할 수 있다.
관련 서재 장
알고리즘 분류
조건 분기산술풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |