트리와 쿼리마다 최대 50개의 표시된 정점이 주어질 때, 표시된 모든 정점까지의 거리 합을 최소로 하는 정점을 찾아 그 최솟값을 각 쿼리마다 출력한다.
어려움8트리DFS누적 합연결 리스트아직 제출이 없습니다시간 제한2초메모리 제한512 MBANTS는 N개의 창고를 운영하는 회사다. 창고에는 1부터 N까지 번호가 붙어 있고, 특수 레일 하나가 서로 다른 두 창고를 연결한다. 레일은 정확히 N−1개이며, 어떤 창고에서도 다른 모든 창고로 이동할 수 있다. 즉 레일은 창고들을 트리 형태로 연결한다.
가끔 일부 로봇을 다시 조정해야 한다. 영향을 받는 K대의 로봇은 모두 같은 창고 한 곳에 모여야 하며, 집결 지점은 N개 창고 중 어디든 될 수 있다. 각 로봇은 레일을 따라 최단 경로로 이동하고, 레일 하나를 지날 때마다 사용 횟수가 1씩 늘어난다. 관리자는 전체 사용 횟수의 합이 가장 작아지는 창고를 집결 지점으로 고른다.
작은 경우를 보자. 창고 2, 3, 4가 각각 창고 1과 연결된 별 모양 배치에서 로봇이 2, 3, 4에 한 대씩 있다면, 창고 1에 모이는 데에는 1+1+1=3번의 레일 사용이 들고, 창고 2에 모이는 데에는 0+2+2=4번이 든다. 따라서 최적 집결지는 창고 1이고 답은 3이다.
Q개의 질의가 주어진다. 각 질의는 영향을 받는 로봇 K대의 위치를 담고 있으며, 질의마다 최적의 집결 지점에서 전체 레일 사용 횟수를 구해야 한다.
첫째 줄에 창고의 수 1≤N≤100,000이 주어진다. 이어지는 N−1개의 줄에는 특수 레일이 연결하는 두 창고 1≤a,b≤N이 한 줄에 하나씩 주어진다. 모든 창고는 서로 연결되어 있다. 다음 줄에는 질의의 수 1≤Q≤5000이 주어진다. 이어지는 Q개의 줄에는 각 질의가 주어진다. 각 질의는 로봇의 수 1≤K≤50으로 시작하고, 그 뒤에 로봇이 있는 창고 1≤Ai≤N이 K개 이어진다. 같은 창고에 여러 로봇이 있을 수 있다.
각 질의마다 최적의 집결 지점을 골랐을 때의 전체 특수 레일 사용 횟수를 한 줄에 하나씩 출력한다.