현상금 사냥꾼 김정은 문제와 유사하다. DP 배열을 이용하고, dp[i][j] 는 첫 번째 벽장이 i 번 자리로 이동하고 두 번째 벽장이 j 번 자리로 이동했을 때, 남은 것을 수행하는는데 필요한 최소 거리를 뜻한다. 즉 dp[0][0]이면 처음 자리에서 모든 쿼리를 다 해결했을 때 최소 거리가 나온다. 점화식은 다음처럼 유도했다. dp[0][0] = min( dp[1][0] + dist(0->1) , dp[0][1] + dist(0->1) ) ... next = max(i, j) + 1; dp[i][j] = min(dp[next][j] + dist(i->next) , dp[i][next] + dist(j->next) ); 초기값은 i, j 가 마지막 질문을 받았을 때, 그 자리로 이동하는 거리만 ret..