문제 3706 · 비트 III
생산 라인의 포장 정산
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
한 공장의 생산 라인에서는 완성된 제품을 작업 묶음별로 포장한다. 포장 설비를 관리하는 백엔드 담당자는 하루 동안 처리한 작업 기록을 받아 최종 청구 금액을 계산하는 프로그램을 작성해야 한다. 각 기록에는 포장한 제품 수, 제품 한 개의 포장 단가, 긴급 작업 여부가 들어 있다. 모든 금액의 단위는 원이며, 입력되는 수와 계산 결과는 모두 정수다. 각 작업의 청구 금액은 다음 순서로 계산한다. 먼저 제품 수와 포장 단가를 곱하여 기본 요금을 구한다. 제품 수가 100개 이상인 작업에는 기본 요금의 10퍼센트를 할인한다. 할인 금액은 기본 요금을 10으로 나눈 몫이며, 나머지는 버린다. 제품 수가 100개 미만이면 할인 금액은 0원이다. 이 할인 조건은 각 작업에 따로 적용하므로 여러 작업의 제품 수를 합쳐 판단하지 않는다. 다음으로 기본 요금에서 할인 금액을 뺀다. 긴급 작업이면 여기에 긴급 처리 요금 500원을 더하고, 일반 작업이면 추가 요금을 더하지 않는다. 이렇게 구한 금액을 과세 금액이라고 한다. 긴급 처리 요금에는 수량 할인을 적용하지 않으며, 과세 금액에는 포함한다. 마지막으로 과세 금액의 10퍼센트를 세금으로 부과한다. 세금은 과세 금액을 10으로 나눈 몫이며, 나머지는 버린다. 과세 금액과 세금을 더하면 해당 작업의 최종 청구 금액이 된다. 할인과 세금의 나머지는 각각 계산하는 단계에서 버리며, 버린 나머지를 다른 작업으로 넘기지 않는다. 하루 청구 금액은 모든 작업의 최종 청구 금액을 더한 값이다. 세금도 작업마다 먼저 계산한 뒤 합산해야 하며, 하루의 과세 금액을 모두 합친 뒤 한 번에 계산해서는 안 된다. 같은 내용의 기록이 여러 번 주어져도 각각 별개의 작업으로 정산한다. 주어진 모든 기록을 처리하여 하루 청구 금액을 구한다.
입력
첫째 줄에 작업 수 N이 주어진다. 다음 N개의 줄에 제품 수 Q, 제품 한 개의 포장 단가 P, 긴급 작업 여부 E가 공백으로 구분되어 주어진다. 모든 입력은 정수이며, 1 ≤ N ≤ 1,000, 1 ≤ Q ≤ 1,000, 1 ≤ P ≤ 10,000이다. E는 0 또는 1이며, 0은 일반 작업, 1은 긴급 작업을 뜻한다.
출력
하루 청구 금액을 원 단위의 정수 하나로 출력한다. 단위나 쉼표는 출력하지 않는다.
예제 입력 1
3 100 17 0 99 17 1 1 1 0
예제 출력 1
4085
예제 입력 2
2 100 1 1 101 1 0
예제 출력 2
749
예제 입력 3
1 1 1 0
예제 출력 3
1
힌트 펼치기
- 각 작업에서 할인, 긴급 처리 요금, 세금의 순서대로 계산한 뒤 결과를 합산한다.
알고리즘 분류
구현사칙연산풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |