러브 레터
면접 대비시간 제한2.5초메모리 제한1024 MB
나이가 서로 다른 용들과 무료로 연결되는 친구 관계가 주어질 때, 용 1에서 각 용까지 편지를 보내는 최소 시간을 구합니다.
문제
번호가 부터 까지 매겨진 용이 마리 있습니다. 용 의 나이는 입니다. 의 값은 모두 서로 다릅니다. 1번 용은 에비리르입니다.
에비리르는 용 에게 보낼 편지가 있습니다. 나이 차이로 생기는 어색함을 피하려고, 에비리르는 편지를 다른 용에게 보낼 수 있습니다(반드시 번 용일 필요는 없습니다). 편지를 받은 용은 또 다른 용에게 편지를 보낼 수 있으며, 이런 과정을 거쳐 결국 편지를 번 용에게 전달하는 것이 목표입니다.
용 가 편지를 가지고 있을 때, 용 에게 의 시간으로 편지를 보낼 수 있습니다. 용은 자기 자신에게 의 시간으로 편지를 보낼 수 있습니다. 서로 절친한 용의 쌍이 개 있습니다. 용 와 가 절친하면, 용 가 에게 편지를 보내는 데 의 시간이 걸리며, 그 반대도 마찬가지입니다.
각 용 ()에 대해 독립적으로 답하세요. 1번 용이 번 용에게 편지를 보내는 데 필요한 최소 총 시간은 얼마인가요?
절댓값 는 와 0 사이의 거리입니다. 예를 들어 , , 입니다.
입력
첫 줄에 용의 수 과 절친한 쌍의 수 가 주어집니다(, ). 둘째 줄에는 서로 다른 개의 정수 ()이 공백으로 구분되어 주어집니다. 이어서 개의 줄에 정수 와 (, )가 주어지며, 이는 용 와 가 절친하다는 뜻입니다. 같은 쌍은 순서와 무관하게 두 번 나오지 않습니다.
출력
공백으로 구분하여 정수 을 출력하세요. 여기서 는 1번 용이 번 용에게 편지를 보내는 데 필요한 최소 총 시간입니다.
힌트
첫 번째 예제에서 1번 용은 자기 자신에게 의 시간으로 도달합니다. 1번 용과 3번 용은 절친하므로 3번 용도 의 시간으로 도달합니다. 2번 용은 3번 용이 2번 용에게 의 시간으로 보내서 도달하므로 총 입니다. 8번 용은 1번 용이 직접 의 시간으로 보내므로 입니다. 4번 용은 로 의 시간이 걸립니다. 5번 용은 로 의 시간이 걸립니다. 6번 용은 으로 의 시간이 걸립니다. 7번 용은 로 의 시간이 걸립니다.