K번째 서브트리
시간 제한1초메모리 제한512 MB
노드가 최대 5000개인 트리와 순위 K가 주어질 때, 노드 수가 K번째로 작은 연결 부분그래프의 크기를 구하고, 그러한 부분그래프가 K개 미만이면 -1을 출력한다.
문제
루트가 없는 레이블이 붙은 트리가 주어진다. 서브트리는 이 트리의 연결된 부분그래프이다. 서브트리의 크기는 서브트리에 속한 노드의 개수이다. 두 서브트리는 한쪽에만 속하는 노드가 하나라도 있으면 서로 다르다. 가장 큰 서브트리는 원래 트리 자기 자신이다.
비어 있지 않은 서브트리 중 번째로 작은 것의 크기를 구하시오.
입력
첫째 줄에 두 정수 ()과 ()가 주어진다. 은 트리의 노드 개수이고, 번째로 작은 서브트리의 크기를 구해야 한다. 노드에는 부터 까지 번호가 붙어 있다.
다음 개의 줄에는 정수 와 (, )의 쌍이 주어지며, 이는 노드 와 를 잇는 무향 간선을 나타낸다. 모든 간선은 서로 다르다. 간선들이 하나의 트리를 이룬다는 것이 보장된다.
출력
입력으로 주어진 트리의 비어 있지 않은 서브트리 중 번째로 작은 것의 노드 개수를 한 정수로 출력한다. 주어진 트리에 비어 있지 않은 서브트리가 개보다 적으면 을 출력한다.