핫도그 노점 확산 (Small)

같은 모서리에 있는 판매자 둘을 동쪽과 서쪽으로 한 칸씩 흩어지게 하여 모든 판매자를 서로 다른 모서리에 두는 최소 이동 횟수를 구합니다.

보통7동적 계획법정렬아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

동서로 아주 길게 뻗은 거리의 교차로마다 핫도그 노점이 들어섰다. 문제는 한 교차로에 노점이 둘 이상 몰릴 수 있다는 것이다. 그렇게 되면 서로 손님을 빼앗는다. 그래도 방법이 없지는 않다. 노점 주인들이 계획을 세웠다.

한 교차로에 노점이 둘 이상 있으면 그중 정확히 두 노점이 이동을 한 번 수행할 수 있다. 이동은 다음과 같다.

  • 한 노점은 거리를 따라 동쪽으로 한 교차로 옮겨 간다.
  • 다른 한 노점은 거리를 따라 서쪽으로 한 교차로 옮겨 간다.

거리가 워낙 길어서 교차로가 모자랄 일은 없다. 모든 노점의 처음 위치가 주어질 때, 노점이 모두 서로 다른 교차로에 놓일 때까지 필요한 최소 이동 횟수를 구하라.

예를 들어 서쪽에서 동쪽 순서로 각 교차로의 노점 수가 다음과 같다고 하자.

... 0 0 2 1 2 0 0 ...

이 배치는 아래처럼 이동 세 번으로 분리된다.

... 0 0 2 1 2 0 0 ...
        |
        +--- 여기서 이동

... 0 1 0 2 2 0 0 ...
          |
          +--- 여기서 이동

... 0 1 1 0 3 0 0 ...
            |
            +--- 여기서 이동

... 0 1 1 1 1 1 0 ...

입력

각 교차로에는 정수 번호가 붙어 있고 음수 번호도 쓴다. 모든 ii에 대해 교차로 i+1i+1은 교차로 ii의 동쪽 바로 옆 교차로이다. 입력에서는 이 번호로 교차로를 가리킨다.

첫 줄에 테스트 케이스의 수 TT가 주어진다. 이어서 TT개의 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 줄에는 처음에 노점이 하나 이상 있는 교차로의 수 CC가 주어진다. 다음 CC개의 줄에는 공백으로 구분된 두 정수 PPVV가 주어지며, 교차로 PP에 노점이 VV개 있다는 뜻이다.

제한

  • 1T501 \le T \le 50
  • 1C2001 \le C \le 200
  • 1000000P1000000-1000000 \le P \le 1000000
  • 한 테스트 케이스 안에서 PP는 모두 다르고 증가하는 순서로 주어진다.
  • VV는 양의 정수이고, 한 테스트 케이스의 VV 총합, 즉 노점의 총 개수는 200 이하이다.
  • 유한 번의 이동으로 모든 노점을 서로 다른 교차로에 놓을 수 있음이 항상 보장된다.

출력

각 테스트 케이스마다 Case #x: M 형식으로 한 줄씩 출력한다. xx는 1부터 시작하는 테스트 케이스 번호이고, MM은 모든 노점이 서로 다른 교차로에 놓일 때까지 수행해야 하는 최소 이동 횟수이다.