문제 3558 · 비트 I
주문 금액 검증표
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
온라인 쇼핑몰의 데이터 담당자는 임시 주문 기록을 검증하여 정산에 사용할 요약표를 만들려고 한다. 임시 기록에는 상품 한 개의 가격 P, 주문 수량 Q, 기록된 주문 금액 A가 들어 있다. 자료를 옮기는 과정에서 잘못된 값이 들어갈 수 있으므로, 입력된 기록을 그대로 합산해서는 안 된다. 하나의 기록이 유효하려면 다음 세 조건을 모두 만족해야 한다. 상품 한 개의 가격 P는 1 이상이어야 하고, 주문 수량 Q도 1 이상이어야 하며, 기록된 주문 금액 A는 P와 Q를 곱한 값과 정확히 같아야 한다. 세 조건 중 하나라도 만족하지 않으면 그 기록 전체를 제외한다. 가격이나 수량이 0인 기록도 제외하며, 주문 금액만 올바르게 고쳐서 사용하는 처리는 하지 않는다. 예를 들어 가격이 240이고 수량이 3이며 기록된 금액이 720인 기록은 유효하다. 같은 가격과 수량에서 금액이 700으로 기록되었다면 제외한다. 가격과 수량이 모두 음수여서 곱한 결과가 기록된 금액과 같더라도, 양수 조건을 만족하지 않으므로 제외한다. 각 줄은 별개의 주문 기록이다. 모든 값이 같은 줄이 여러 번 등장하더라도 중복 기록으로 판단하지 않고 각각 검증한다. 또한 입력에 포함된 모든 기록은 같은 정산 대상에 속하므로 날짜나 상품별로 나누지 않는다. 주어진 N개의 기록을 검증한 뒤, 유효한 기록의 개수와 그 기록들에 적힌 주문 금액의 합을 구해야 한다. 유효하지 않은 기록은 개수와 금액 합 모두에 영향을 주지 않는다. 유효한 기록이 하나도 없으면 두 값은 모두 0이다.
입력
첫째 줄에 기록의 개수 N이 주어진다. 다음 N개의 줄에 정수 P, Q, A가 공백으로 구분되어 주어진다. 1 ≤ N ≤ 1,000 -100 ≤ P ≤ 10,000 -10 ≤ Q ≤ 100 -100 ≤ A ≤ 1,000,000 입력에 등장하는 모든 수는 정수이다.
출력
유효한 기록의 개수와 유효한 기록들의 주문 금액 합을 이 순서대로 한 줄에 공백으로 구분하여 출력한다. 유효한 기록이 없으면 0 0을 출력한다.
예제 입력 1
5 240 3 720 240 3 700 0 5 0 50 2 100 -2 -3 6
예제 출력 1
2 820
예제 입력 2
3 10 0 0 -1 4 -4 8 2 15
예제 출력 2
0 0
예제 입력 3
2 10000 100 1000000 10000 100 1000000
예제 출력 3
2 2000000
힌트 펼치기
- 각 기록에서 세 조건을 모두 확인하고, 유효할 때만 개수와 금액 합을 갱신한다.
알고리즘 분류
구현조건문풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |