만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

TSP

시간 제한4초메모리 제한1024 MB

요약
노드 번호가 1부터 10^18까지인 이진 힙 모양 트리에서 주어진 K개 정점을 모두 방문하는 가장 짧은 경로의 길이를 구합니다.
난이도

보통10점 중 6점

유형
트리, 정렬, DFS
정답자
아직 제출이 없습니다

문제

101810^{18}개의 정점으로 이루어진 트리가 있습니다. 이 트리에는 2≤i≤10182 \le i \le 10^{18}인 각 ii에 대해 ii번째 정점과 ⌊i2⌋\left\lfloor \frac{i}{2} \right\rfloor번째 정점을 잇는 간선이 있습니다. 이 트리에서 KK개의 정점 v1,v2,⋯ ,vKv_1, v_2, \cdots, v_K가 주어집니다. 임의의 정점에서 출발해 주어진 KK개의 정점을 각각 한 번 이상 방문하는 경로 중 가장 짧은 경로의 길이를 구하세요.

입력

첫 줄에 테스트케이스의 수 TT가 주어집니다. (1≤T≤10 000)(1 \le T \le 10\,000)

각 테스트케이스의 첫 줄에는 정점의 수 KK가 주어집니다. (2≤K≤100 000)(2 \le K \le 100\,000)

둘째 줄에는 주어진 정점의 번호 v1,v2,⋯ ,vKv_1, v_2, \cdots, v_K가 공백으로 구분되어 주어집니다. 모든 viv_i는 서로 다릅니다. (1≤vi≤1018)(1 \le v_i \le 10^{18})

주어지는 모든 입력은 정수입니다.

모든 테스트케이스에서 KK의 합은 100 000100\,000을 넘지 않습니다.

출력

각 테스트케이스마다 한 줄에 하나씩, 임의의 정점에서 출발해 주어진 KK개의 정점을 각각 한 번 이상 방문하는 경로 중 가장 짧은 경로의 길이를 출력하세요.

힌트

길이가 LL인 트리 경로는 방문한 정점을 차례로 나열한 수열 p0,p1,⋯ ,pLp_0, p_1, \cdots, p_L로 표현됩니다. 1≤i≤L1 \le i \le L인 각 ii에 대해 pi−1p_{i-1}과 pip_i는 간선으로 연결되어 있어야 합니다. 같은 정점이나 간선을 여러 번 방문해도 됩니다.

예제1

  1. 예제 1

    입력
    2
    3
    3 6 7
    4
    31 41 59 26
    
    예상 출력
    2
    20