물류회사
- 시간 제한
- 1s
- 메모리 제한
- 512MB
- 제출
- 34
- 정답
- 14
- 맞힌 사람
- 11
- 정답 비율
- 42.3%
문제
물류 회사 ana에는 번부터 번까지 번호가 붙은 지점 개가 있다. 각 지점에는 본사로 보내야 할 운송물이 쌓여 있다.
번을 제외한 각 지점에는 본사 방향의 다른 지점으로 향하는 일방통행 도로가 하나씩 안내되어 있다. 회사의 트럭은 이 도로만 이용한다. 번 지점 옆에는 본사가 있어, 트럭은 번 지점까지의 수거를 마치면 본사에 도착하여 운행을 종료한다.
전체 도로망은 아래의 그림과 같이 번 지점을 루트로 하는 트리를 이룬다. 따라서 어느 지점에서 출발하더라도 안내된 도로를 따라가면 본사에 도착한다.
처음에 번 지점에는 운송물 개가 있다. 트럭이 실어 간 운송물은 해당 지점에서 사라지며 다시 공급되지 않는다.
대의 트럭이 입력으로 주어진 순서대로 한 대씩 운행한다. 번째 트럭은 번 지점에서 빈 상태로 출발하며, 운송물을 최대 개까지 실을 수 있다. 트럭은 출발 지점부터 부모 지점을 차례로 거쳐 번 지점까지 이동하며 다음 규칙으로 운송물을 싣는다.
- 방문한 지점에 운송물이 있고 적재 공간이 남아 있다면, 남은 적재 공간만큼 최대한 싣는다.
- 운송물이 없는 지점은 건너뛰고 다음 지점으로 이동한다. 적재 공간이 가득 차면 더 이상 싣지 않고 본사까지 이동한다.
각 트럭이 본사에 도착했을 때 실은 운송물의 수와 모든 트럭이 옮긴 운송물의 총합을 구해 보자.
입력
첫째 줄에 지점의 수 과 트럭의 수 가 공백으로 구분되어 주어진다.
둘째 줄에 개의 정수 이 공백으로 구분되어 주어진다. 이면 둘째 줄은 빈 줄이다. 는 번 지점에서 본사 방향으로 한 번 이동했을 때 도착하는 부모 지점의 번호다. 주어진 지점과 길은 번 지점을 루트로 하는 트리를 이룬다.
셋째 줄에 개의 정수 이 공백으로 구분되어 주어진다. 는 처음에 번 지점에 놓인 운송물의 수다.
다음 개의 줄 중 번째 줄에는 두 정수 와 가 공백으로 구분되어 주어진다. 이는 번째 트럭이 번 지점에서 출발하며, 최대 개의 운송물을 실을 수 있음을 뜻한다.
출력
첫째 줄부터 개의 줄에 걸쳐, 번째 줄에 번째 트럭이 실은 운송물의 수를 출력한다.
마지막 줄에 모든 트럭이 실은 운송물의 총합을 출력한다.
예제 1
6 5
1 1 2 2 3
4 2 6 2 4 2
4 6
5 8
6 4
6 10
4 2
출력 1
6
6
4
4
0
20
- 문제를 만든 사람
- 김승현
- 알고리즘 분류
코드를 제출하려면 로그인이 필요합니다.
로그인제출 내역이 없습니다.
| # | 순위 | 사용자 | 언어 | 시간 | 메모리 | 코드 길이 | |
|---|---|---|---|---|---|---|---|
| 10321 | 🥇 | 황현석 | C++ | 8ms | 4296KB | 954B | |
| 10985 | 🥈 | 서재형 | C++ | 20ms | 2264KB | 925B | |
| 11010 | 🥉 | jwpassion1 | C++ | 21ms | 3032KB | 923B | |
| 10553 | 4 | Kokiri is cute | C++ | 22ms | 2776KB | 1421B | |
| 10487 | 5 | cpp = competitive python programming | C++ | 22ms | 3032KB | 923B | |
| 10612 | 6 | 실외기선풍기세탁기 | C++ | 22ms | 3544KB | 976B | |
| 10597 | 7 | SW-IT Contest는 충남대학교 컴퓨터인공지능학부 알고리즘 동아리 ANA에서 주최하는 프로그래밍 대회로, 팀으로 출전하여 알고리즘 문제를 해결하는 대회입니다. | C++ | 22ms | 3736KB | 1143B | |
| 10699 | 8 | 스피드런도 런이다 | PyPy | 76ms | 73276KB | 613B | |
| 10952 | 9 | OOOOOOOO | C++ | 104ms | 35224KB | 2787B | |
| 10924 | 10 | 상받고싶습니다 | C++ | 279ms | 2264KB | 1190B | |
| 10955 | 11 | 박성재 | C++ | 284ms | 2264KB | 1190B |
| # | 사용자 | 문제 | 결과 | 언어 | 시간 | 메모리 | 코드 길이 | 제출 시간 | |
|---|---|---|---|---|---|---|---|---|---|
| 11010 | 맞았습니다 | C++ | 21ms | 3032KB | 923B | 2026. 10. 08. 03:57 | |||
| 10985 | 맞았습니다 | C++ | 20ms | 2264KB | 925B | 2026. 10. 06. 16:15 | |||
| 10955 | 맞았습니다 | C++ | 284ms | 2264KB | 1190B | 2026. 10. 05. 11:55 | |||
| 10952 | 맞았습니다 | C++ | 104ms | 35224KB | 2787B | 2026. 10. 05. 07:54 | |||
| 10951 | 틀렸습니다 | C++ | - | - | 2818B | 2026. 10. 05. 07:53 |