문제 3405 · 비트 III
카페의 마지막 진열 수량
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
작은 카페에서는 영업을 마치기 전에 진열대에 남은 구움 과자의 수량을 확인한다. 진열대에서 판매하는 과자의 종류는 N가지이며, 각 종류에는 1번부터 N번까지 번호가 붙어 있다. 번호는 진열 위치와 관계없이 하루 동안 유지된다. 영업 종료 전 마지막 주문을 받기 시작할 때, i번 과자는 A_i개 남아 있다. 직원은 손님이 요청한 과자 번호를 시간순으로 기록했다. 기록에는 모두 M개의 요청이 있으며, 각 요청은 특정 종류의 과자 한 개를 구매하려는 요청이다. 같은 번호가 여러 번 등장할 수 있고, 그 요청들이 연속해서 들어올 수도 있다. 한 요청에서 여러 개를 구매하는 경우는 없다. 직원은 기록된 순서대로 요청을 하나씩 처리한다. 요청한 종류의 과자가 한 개 이상 남아 있으면 그 과자를 한 개 판매하여 해당 종류의 남은 수량을 1 줄인다. 요청한 종류가 이미 모두 팔렸다면 그 요청에서는 아무 과자도 판매하지 않는다. 이 경우 다른 종류의 과자로 대신 제공하거나, 나중에 같은 종류가 생길 때까지 요청을 보류하지 않는다. 다음 요청은 바로 이어서 처리한다. 마지막 주문을 처리하는 동안 새 과자를 진열하거나 판매한 과자를 돌려받는 일은 없다. 따라서 각 종류의 수량은 판매할 때만 줄어들며, 어떤 종류의 수량도 음수가 되지 않는다. 처음부터 수량이 0인 종류도 있을 수 있다. 그런 종류에 대한 요청이 들어오면 다른 품절 요청과 똑같이 처리한다. 예를 들어 어떤 종류의 과자가 처음에 2개 있고 그 종류를 구매하려는 요청이 세 번 들어왔다면, 앞의 두 요청에서는 각각 한 개를 판매한다. 세 번째 요청에서는 판매하지 않으며, 마지막 수량은 0개다. 처음 진열된 수량과 시간순 요청 목록이 주어질 때, 모든 요청을 처리한 뒤 각 종류의 과자가 몇 개씩 남는지 구하는 프로그램을 작성한다. 결과는 과자의 번호가 작은 순서대로 정리한다.
입력
첫째 줄에 정수 N과 M이 공백으로 구분되어 주어진다. 둘째 줄에 정수 A_1, A_2, …, A_N이 공백으로 구분되어 주어진다. 셋째 줄에 요청한 과자 번호를 나타내는 정수 B_1, B_2, …, B_M이 시간순으로 주어진다. 1 ≤ N ≤ 1,000 1 ≤ M ≤ 1,000 0 ≤ A_i ≤ 1,000 (1 ≤ i ≤ N) 1 ≤ B_j ≤ N (1 ≤ j ≤ M)
출력
모든 요청을 처리한 뒤 남은 과자 수량을 1번 종류부터 N번 종류까지 순서대로, 공백 하나로 구분하여 한 줄에 출력한다. 남은 과자가 없는 종류는 0을 출력한다. 모든 종류가 품절이면 N개의 0을 출력한다.
예제 입력 1
4 7 2 0 3 1 1 2 3 1 1 4 3
예제 출력 1
0 0 1 0
예제 입력 2
1 4 2 1 1 1 1
예제 출력 2
0
예제 입력 3
3 3 0 0 0 3 2 3
예제 출력 3
0 0 0
힌트 펼치기
- 과자 번호와 배열의 위치를 대응시킨다.
- 요청한 종류의 수량이 양수일 때만 1을 뺀다.
관련 서재 장
알고리즘 분류
배열구현풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |