불 뿌리기
시간 제한3초메모리 제한1024 MB
트리에서 각 작업이 u로부터 r_u 이내이면서 v로부터 r_v 이내인 모든 방에 시각 t에 불을 붙이고, 불이 간선마다 K씩 번질 때 각 방이 처음 불붙는 시각을 구한다.
문제
시루가 운영하는 방 탈출 카페는 개의 방이 개의 통로로 연결되어 있는 트리 형태이다. 각 방은 부터 까지의 번호가 붙어 있으며, 서로 다른 두 방은 통로를 통해 이동할 수 있다. 이때 두 방 , 의 거리는 에서 로 가기 위해 통과해야 하는 통로의 최소 개수로 정의한다.
시루는 고객들이 진정한 탈출을 체험하도록 하기 위해 총 번 불을 지르려고 한다. 한 번의 불 뿌리기 작업은 5개의 정수 로 정의할 수 있다. 이는 시각 에, 번 방과 거리가 이하이면서 번 방과 거리가 이하인 모든 방에 불을 지른다는 의미다. 또한, 어떤 방에 불이 붙었다면 시간 후에 인접한 방으로 불이 옮겨 붙는다.
번의 불 뿌리기 작업 계획이 주어지면, 각 방마다 처음으로 불이 붙는 시각을 구하는 프로그램을 작성하라.
입력
첫째 줄에 방의 개수 과 불 뿌리기 작업 횟수 , 불이 전파되는데 걸리는 시간을 나타내는 정수 가 공백으로 구분되어 주어진다.
그다음 줄부터 개의 줄에 걸쳐, 통로가 연결하는 두 방의 번호 가 공백으로 구분되어 주어진다.
그다음 줄부터 개의 줄에 걸쳐, 불 뿌리기 작업을 나타내는 다섯 개의 정수 가 공백으로 구분되어 주어진다.
출력
개의 줄에 걸쳐 답을 출력한다.
만약 번째 방에 불이 붙는다면, 번째 줄에 그 최초의 시각을 출력한다. 그렇지 않다면 을 출력한다.
제한
- ()
- 방과 통로는 트리 구조를 이룬다.