頁面無法載入?點擊這裡可能會修復。
Placeholder

#10457

철도 운영 40s 2048MB

問題

철도망의 운영을 맡고 있다. 이 철도망은 \mathbf{N}개의 역으로 이루어진다. 각 역 i는 정확히 한 개의 다른 역 \mathbf{D_i}로 물품을 보내야 한다. 역 i는 정확히 한 번의 배송을 수행하며, 정확히 \mathbf{C_i}개의 철도 차량(칸)을 가진 열차를 보내야 한다.

모든 배송 정보를 충분히 미리 알 수 있으므로, 철도 차량을 재사용해서 필요한 차량 수를 줄이려 한다. 역 i가 역 \mathbf{D_i}로 철도 차량 n개를 보내면, 역 \mathbf{D_i}는(아직 자신의 배송을 보내기 전이라면) 그 차량들을 자신의 공급량에 더해 자신의 배송에 사용할 수 있다.

정확히 말해, 각 역에 초기 철도 차량 공급량을 지정해야 한다(어떤 역은 0개를 받아도 된다). 또한 배송들을 수행할 순서를 정해야 한다. 그렇게 해서 역 i가 배송을 보내야 하는 시점에는, 역 i에 대해 (초기 공급량과 이전에 도착한 배송들로부터 받은 차량 수를 합한 값)이 그 역이 필요로 하는 차량 수 \mathbf{C_i} 이상이어야 한다. 역 i\mathbf{C_i}보다 더 많은 차량이 있더라도, 역 i에서 나가는 배송에 \mathbf{C_i}개보다 더 많이 실어 보낼 수는 없다.

예를 들어, 역 1이 역 4로 정확히 철도 차량 3개를 실은 열차를 보낸다고 하자. 이제 역 4가 차량 2개가 필요하다면, 역 1에서 받은 차량 중 2개를 재사용할 수 있다. 또한 역 4가 차량 5개를 보내야 한다면, 역 1에서 받은 3개를 전부 재사용하고 자신의 초기 공급량에서 2개를 더해 보낼 수 있다. 하지만 역 4가 차량 2개만 보내야 할 때에는, 역 1에서 받은 3개를 전부 보낼 수는 없다는 점에 주의하라.

배송 정보가 주어질 때, 어떤 순서로든 모든 배송을 수행할 수 있도록 하려면 각 역에 초기 공급량으로 나누어 주어야 하는 철도 차량의 최소 총개수는 얼마인가?


輸入

입력의 첫 줄에는 테스트 케이스 수 \mathbf{T}가 주어진다. \mathbf{T}개의 테스트 케이스가 이어진다. 각 테스트 케이스는 3줄로 이루어진다. 첫 줄에는 정수 \mathbf{N} 하나가 주어지며, 이는 철도망의 역의 수이다. 둘째 줄에는 \mathbf{N}개의 정수 \mathbf{D_1}, \mathbf{D_2}, \dots, \mathbf{D_N}가 주어진다. 셋째(마지막) 줄에는 \mathbf{N}개의 정수 \mathbf{C_1}, \mathbf{C_2}, \dots, \mathbf{C_N}가 주어진다. 이는 역 i가 역 \mathbf{D_i}로 정확히 \mathbf{C_i}개의 철도 차량을 가진 열차를 보내야 함을 의미한다.


輸出

각 테스트 케이스마다 Case #x: y 형식의 한 줄을 출력하라. 여기서 x는 (1부터 시작하는) 테스트 케이스 번호이고, y는 모든 배송을 수행할 수 있도록 하기 위해 역들에 초기 공급량으로 나누어 주어야 하는 철도 차량의 최소 총개수이다.


範例

3
4
2 3 4 3
4 3 2 1
4
2 3 4 1
1 3 1 3
7
3 5 2 5 3 7 6
3 4 6 3 5 1 2
Case #1: 4
Case #2: 5
Case #3: 10
샘플 케이스 #1에서 한 가지 최적 방법은 출발 역 번호가 증가하는 순서로 화물을 보내는 것이다. 그러려면 역 1에 4대의 차량을 보내야 한다. 하지만 그 이후에는 각 역이 필요한 만큼의 차량을 받아 총 4대로 충분하다. 역 1에는 들어오는 차량이 없으므로 초기 4대가 반드시 필요하고, 이것이 최소이기도 하다. 샘플 케이스 #2에서 가능한 최소 방법 하나는 역 3에 1대, 역 2와 역 4에 각각 2대를 공급해 총 5대를 두는 것이다. 이후 3 \to 4 배송을 시작하면 역 4에 차량이 하나 더 생긴다. 그러면 역 4는 4 \to 1을 수행하는 데 필요한 3대를 갖추게 된다. 이제 역 1에는 3대가 생기며, 이는 1 \to 2를 한 대로 수행하기에 충분해서 역 2의 총량이 3대가 되고, 마지막 2 \to 3 배송을 수행할 수 있다. 1 \to 2 배송은 사용 가능한 차량이 더 있더라도 역 2로 추가 차량을 가져올 수 없다는 점에 유의하라. 5대로 모든 배송을 처리하는 다른 방법들도 있지만, 그보다 적게는 불가능하다. 샘플 케이스 #3에서 최적의 초기 배치는 역 1과 4에 각각 3대, 역 5와 7에 각각 2대이다.

來源

GCJ 2023b E

需要登入才能撰寫程式碼。