문제 3205 · 비트 IV
빗물 기록표 넘기기
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
작은 날씨 관측소에서는 비가 얼마나 내렸는지 살펴보기 위해 관측 기록을 여러 장의 기록표로 나누어 보관한다. 관측 장치는 일정한 간격으로 그 구간에 내린 비의 양을 정수로 알려 준다. 관측 담당자는 장치가 알려 준 값을 순서대로 현재 기록표에 적고, 그 기록표에 적힌 강수량의 합도 함께 관리한다. 관측을 시작할 때는 아무 값도 적히지 않은 새 기록표를 사용하며, 현재 기록표의 합은 0이다. 관측값 하나를 받을 때마다 먼저 그 값을 현재 기록표의 합에 더한다. 더한 뒤의 합이 기준량 H 이상이면 현재 기록표를 마감하고, 합이 0인 새 기록표를 준비한다. 합이 H보다 작으면 같은 기록표를 계속 사용한다. 새로 준비하는 기록표에는 이전 기록표의 합을 넘겨 적지 않는다. 한 구간의 관측값은 반드시 하나의 기록표에 전부 적어야 한다. 따라서 합이 H를 넘더라도 초과한 양을 다음 기록표로 옮기지 않는다. 관측값 하나가 H보다 훨씬 크더라도 그 관측값을 처리하면서 마감하는 기록표는 정확히 한 장이다. 예를 들어 H가 9이고 현재 합이 6일 때 관측값 5를 받으면, 합이 11인 기록표 한 장을 마감하고 새 기록표의 합을 0으로 만든다. 관측값이 0인 경우에도 같은 규칙을 적용한다. 마지막 관측값을 처리한 뒤에도 합이 H보다 작으면 그 기록표를 마감하지 않는다. 마지막 관측값으로 기록표를 마감했다면 새로 준비한 기록표의 합은 0이다. 한 번도 기준량에 도달하지 않았다면 마감한 기록표 수는 0이다. N개의 관측값을 모두 처리했을 때, 마감한 기록표의 수와 현재 기록표의 합을 구하는 프로그램을 작성한다. 관측값의 순서를 바꾸어서는 안 된다. 두 결과는 위 규칙에 따라 하나로 정해진다.
입력
첫째 줄에 관측값의 개수 N과 기준량 H가 공백으로 구분되어 주어진다. N과 H는 정수이며 1 ≤ N ≤ 1,000, 1 ≤ H ≤ 10,000이다. 둘째 줄에 관측된 순서대로 N개의 정수 R₁, R₂, …, Rₙ이 공백으로 구분되어 주어진다. Rᵢ는 i번째 구간의 강수량이며 0 ≤ Rᵢ ≤ 100이다. 모든 강수량과 기준량의 단위는 같다.
출력
마감한 기록표의 수와 현재 기록표의 합을 이 순서대로 공백 하나로 구분하여 한 줄에 출력한다. 마감한 기록표가 없으면 첫 번째 값으로 0을 출력한다.
예제 입력 1
7 9 4 3 5 0 8 1 2
예제 출력 1
2 2
예제 입력 2
4 20 0 3 0 6
예제 출력 2
0 9
예제 입력 3
3 5 12 0 5
예제 출력 3
2 0
힌트 펼치기
- 현재 기록표의 합과 마감한 기록표의 수를 각각 변수로 관리한다. 관측값을 더한 직후 합이 기준량 이상인지 확인한다.
관련 서재 장
알고리즘 분류
구현반복누적풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |