도시 관광
시간 제한2초메모리 제한64 MB
가중치가 있는 트리에서 현재 도시 x에서 a_y - dist(x, y)를 최대화하는 도시 y로 매일 이동하며, 동점이면 번호가 가장 작은 도시를 택할 때 K일 후 위치를 구한다.
문제
몰도바에는 도시가 개 있고 1번부터 번까지 번호가 붙어 있다. 도시 사이는 양방향 도로로 이어져 있는데, 정부는 예산을 아끼려고 도로를 정확히 개만 놓았다. 그래도 어느 두 도시 사이든 도로를 따라 오갈 수 있다.
법령에 따라 모든 도시에는 음이 아닌 정수인 아름다움 값이 하나씩 정해져 있다. 번 도시의 아름다움은 이다. 서로 다른 두 도시의 아름다움이 같을 수도 있다.
여행자 기젤은 지금 1번 도시에 있다. 아름다운 도시를 많이 보고 싶지만 시간이 모자라고 결정을 잘 내리지 못한다. 몰도바에 일 더 머무르며 하루에 도시를 하나씩 방문한다. 일째에는 전날 도착한 도시 에서 출발하고(첫날이면 이다), 가 최대인 도시 ()를 찾는다. 여기서 는 에서 출발해 에 도착할 때까지 지나야 하는 도로의 최소 개수이다. 최댓값을 만드는 도시가 여럿이면 번호가 가장 작은 도시를 고른다. 기젤은 로 이동해 그날 남은 시간을 그곳에서 보내고, 다음 날 같은 규칙을 다시 적용한다.
일째가 끝났을 때 기젤이 어느 도시에 있는지 구하는 프로그램을 작성하시오.
입력
첫째 줄에 도시의 수 과 기젤이 머무르는 날수 가 주어진다. 둘째 줄에 개의 정수 이 주어지며, 는 번 도시의 아름다움이다. 다음 개 줄에는 두 정수 와 가 주어지고, 번 도시와 번 도시를 잇는 양방향 도로가 있다는 뜻이다.
출력
일째가 끝났을 때 기젤이 있는 도시의 번호를 한 줄에 출력한다.
제한
- 도로 개는 모든 도시를 연결한다.
힌트
첫 번째 예제에서 기젤은 1일째에 1번 도시를 떠나 3번 도시로 가고, 2일째에 3번 도시에서 5번 도시로, 3일째에 5번 도시에서 2번 도시로 이동한다. 마지막 날인 4일째에는 2번 도시를 떠나 다시 5번 도시로 간다.
