문제 3229 · 비트 IV
화분 급수통의 저녁 기록
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
한 스마트 홈에는 실내 화분에 물을 보내는 자동 급수통이 있다. 관리 화면은 저녁마다 급수통에 들어온 물의 양과 화분에서 요청한 물의 양을 기록한다. 집주인은 이 기록을 이용해 요청한 양의 물을 모두 보낸 날의 수와 마지막 날에 남은 물의 양을 확인하려 한다. 기록은 첫째 날부터 마지막 날까지 날짜순으로 주어진다. 기록을 처리하기 전 급수통에는 S만큼의 물이 들어 있다. 각 날에는 먼저 그날 들어온 물 A만큼을 급수통에 더한다. 그다음 그날 요청한 물 B만큼을 보낼 수 있는지 확인한다. 이때 급수통에 든 물이 B 이상이면 정확히 B만큼을 화분으로 보내고, 그날의 요청을 완료한 것으로 센다. 물의 양이 B와 정확히 같아도 요청을 완료할 수 있으며, 이 경우 급수통에는 물이 남지 않는다. 급수통에 든 물이 B보다 적으면 그날은 물을 전혀 보내지 않는다. 부족한 만큼만 보내는 일도 없으며, 그날의 요청은 완료하지 못한 것으로 처리한다. 완료하지 못한 요청은 다음 날로 넘기지 않는다. 다만 급수통에 남아 있는 물은 그대로 다음 날에 사용할 수 있다. 따라서 이전 날의 요청을 완료했는지에 따라 이후에 사용할 수 있는 물의 양이 달라질 수 있다. 급수통의 용량에는 제한이 없고, 물이 넘치거나 증발하는 일은 없다. 기록에 적힌 유입과 급수 외에는 물의 양을 바꾸는 일이 없다. 모든 물의 양은 같은 단위로 나타낸 정수이며, 단위를 바꾸거나 반올림할 필요가 없다. 주어진 순서대로 N일의 기록을 모두 처리한 뒤, 요청을 완료한 날의 수와 급수통에 남은 물의 양을 구하는 프로그램을 작성한다.
입력
첫째 줄에 기록한 날의 수 N과 처음 들어 있는 물의 양 S가 공백으로 구분되어 주어진다. N은 1 이상 1,000 이하의 정수이고, S는 0 이상 100 이하의 정수다. 다음 N개의 줄에는 각 날에 들어온 물의 양 A와 요청한 물의 양 B가 공백으로 구분되어 날짜순으로 주어진다. A는 0 이상 100 이하의 정수이고, B는 1 이상 100 이하의 정수다.
출력
요청을 완료한 날의 수와 마지막 날의 처리가 끝난 뒤 급수통에 남은 물의 양을 공백으로 구분하여 한 줄에 출력한다. 완료한 요청이 하나도 없으면 첫 번째 값으로 0을 출력한다.
예제 입력 1
5 3 2 6 4 7 0 3 5 4 1 4
예제 출력 1
3 0
예제 입력 2
3 0 0 1 2 5 1 4
예제 출력 2
0 3
예제 입력 3
1 8 2 10
예제 출력 3
1 0
힌트 펼치기
- 날마다 물을 먼저 더한 다음 요청한 양을 보낼 수 있는지 확인한다.
- 요청을 완료하지 못한 날에는 급수통의 물을 빼지 않는다.
관련 서재 장
알고리즘 분류
구현시뮬레이션풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |