투 포인터 (쉬운 버전)
면접 대비시간 제한1초메모리 제한1024 MB
도시 위치와 앨리스, 밥의 출발점이 주어질 때, 모든 도시를 둘 중 한 명이 방문하도록 두 사람이 이동하는 거리의 합의 최솟값을 구합니다.
문제
앨리스와 밥은 좌표 에서 까지 뻗어 있는 매우 긴 도로 위의 도시들을 방문한다. 앨리스는 점 에서, 밥은 점 에서 출발한다.
방문할 도시는 개이며, 번째 도시는 점 에 있다. 각 도시는 앨리스 또는 밥이 최소 한 번 방문해야 하지만, 방문 순서는 임의로 정할 수 있다.
앨리스와 밥이 이동하는 총 거리의 최솟값은 얼마인가?
입력
각 입력은 여러 개의 테스트 케이스로 구성된다. 첫 줄에는 테스트 케이스의 수 ()가 주어진다. 각 테스트 케이스는 다음과 같다.
첫 줄에는 도시의 수 , 앨리스의 위치 , 밥의 위치 가 공백으로 구분된 세 정수로 주어진다 (, ).
둘째 줄에는 도시의 위치 이 공백으로 구분된 개의 정수로 주어진다 ().
모든 테스트 케이스의 을 합하면 최대 이다.
출력
각 테스트 케이스의 답을 한 줄에 하나씩 출력한다.
모든 도시를 방문하기 위해 앨리스와 밥이 이동해야 하는 총 거리의 최솟값을 출력한다.
힌트
첫 번째 테스트 케이스에서 도시는 개이다. 앨리스는 좌표 에서, 밥은 점 에서 출발한다.

모든 도시를 방문하는 최적의 방법 중 하나는 다음과 같다 (는 에서 로 거리 만큼 이동한다는 뜻이다).
- 앨리스는 (주어진 순서대로) 도시를 방문한다: .
- 밥은 (주어진 순서대로) 도시를 방문한다: .
앨리스는 총 만큼, 밥은 총 만큼 이동한다. 둘이 이동한 거리의 합은 이다. 보다 적게 이동하는 방법이 없음은 증명할 수 있으므로 답은 이다.
두 번째 테스트 케이스에서 앨리스와 밥은 이미 모두 도시 에 있다. 밥은 도시 를 방문한 뒤 도시 을 방문할 수 있으며, 이때 총 이동 거리는 이다. 앨리스는 아무것도 하지 않아도 된다.
세 번째 테스트 케이스에서 앨리스는 유일한 도시를 방문할 수 있으며, 점 에서 점 까지 거리 만큼 이동한다. 밥은 아무것도 하지 않는다.