문제 4676 · 킬로 V
수족관 먹이 통의 줄
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
한 수족관의 자동 급식 장치에는 먹이 통을 한 줄로 보관하는 공간이 있다. 각 통에는 한 종류의 먹이만 들어 있으며, 먹이 종류 번호와 남은 먹이의 양이 기록되어 있다. 먹이의 양은 정수 단위로 센다. 처음에는 보관 공간에 통이 하나도 없으며, 장치에는 통을 추가하는 명령과 먹이를 공급하는 명령이 차례로 전달된다. 추가 명령은 먹이 종류 S와 먹이의 양 X를 지정한다. 장치는 해당 종류의 먹이 X단위가 담긴 새 통 하나를 줄의 맨 뒤에 놓는다. 앞서 추가한 통이 남아 있다면 반드시 그 통보다 뒤에 놓아야 한다. 같은 종류의 먹이가 담긴 통을 연속해서 추가할 수도 있으며, 이 경우에도 각 통은 별개의 통으로 취급한다. 보관 공간에는 모든 추가 명령으로 들어오는 통을 담을 수 있다. 공급 명령은 공급하려는 먹이의 양 K를 지정한다. 장치는 줄의 맨 앞 통부터 먹이를 꺼내어 공급한다. 앞 통을 모두 비우면 즉시 그 통을 제거하고 다음 통을 사용한다. 아직 K단위를 공급하지 못했다면 이 과정을 계속한다. 한 통의 일부만 사용하여 K단위를 채웠다면 남은 먹이는 그 통에 그대로 두며, 그 통은 계속 줄의 맨 앞에 남는다. 줄에 남은 먹이가 K단위보다 적으면 남은 먹이를 전부 공급한 뒤 명령을 끝낸다. 채우지 못한 양을 다음 명령으로 넘기지는 않는다. 수족관 담당자는 공급 명령마다 실제로 공급한 양과 마지막으로 공급한 먹이의 종류를 기록하려 한다. 여러 통을 사용했더라도 마지막으로 꺼낸 먹이 한 단위의 종류만 기록한다. 마지막 통을 정확히 비웠다면 제거된 그 통의 종류를 기록한다. 명령을 시작할 때 줄이 비어 있어 아무 먹이도 공급하지 못했다면 실제 공급량과 종류 번호를 모두 0으로 기록한다. 모든 명령을 주어진 순서대로 처리하여 이 기록을 출력해야 한다.
입력
첫째 줄에 명령 수 N이 주어진다. 다음 N개 줄에 다음 두 형식 중 하나의 명령이 주어진다. 1 S X: 종류 S의 먹이 X단위가 담긴 통을 줄의 맨 뒤에 추가한다. 2 K: 먹이 K단위를 공급하려고 시도한다. 1 ≤ N ≤ 30,000 1 ≤ S ≤ 9 1 ≤ X ≤ 999,999 1 ≤ K ≤ 999,999 모든 수는 정수이며, 공급 명령은 적어도 하나 주어진다.
출력
각 공급 명령에 대해 실제로 공급한 먹이의 양과 마지막으로 공급한 먹이의 종류 번호를 공백으로 구분하여 한 줄에 출력한다. 아무 먹이도 공급하지 못했다면 0 0을 출력한다. 추가 명령에 대해서는 출력하지 않는다.
예제 입력 1
8 1 2 5 1 7 4 2 3 2 4 1 3 2 2 10 2 1 1 9 6
예제 출력 1
3 2 4 7 4 3 0 0
예제 입력 2
6 2 5 1 4 2 1 4 3 2 2 2 1 2 9
예제 출력 2
0 0 2 4 1 4 2 4
힌트 펼치기
- 먹이 통을 들어온 순서대로 처리하는 큐를 사용한다.
- 하나의 공급 명령이 여러 통을 비울 수 있지만, 각 통이 제거되는 횟수는 최대 한 번이다.
관련 서재 장
알고리즘 분류
큐시뮬레이션풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |