펜스 탈출 Season IV

시간 제한2초메모리 제한128 MB

문제

지민이는 정문이를 피해 아래쪽의 탈출구로 내려가야 한다. 앞에는 x축과 평행한 펜스 N개가 놓여 있고, i번째 펜스는 y=i에 있다. 펜스는 너무 높아서 넘을 수 없으며, 현재 x좌표가 어떤 펜스 구간 안에 있으면 그 펜스의 왼쪽 끝이나 오른쪽 끝까지 수평으로 이동한 뒤에야 다시 아래로 내려갈 수 있다.

아래 그림에서 S는 시작 위치의 x좌표이고, *는 모든 펜스를 지난 뒤 도달해야 하는 탈출구이다. 탈출구의 x좌표는 0이다.

   +-+-S-+             4번째 펜스
 +-+-+-+               3번째 펜스
     +-+-+-+           2번째 펜스
   +-+-+-+             1번째 펜스
 |=|=|=*=|=|=|
-3-2-1 0 1 2 3

그림의 한 경로는 먼저 양의 x방향으로 1만큼 이동해 4번째 펜스의 끝에 도달한 뒤 아래로 내려가는 것이다. 그러면 2번째 펜스에 닿고, 다시 양의 x방향으로 1만큼 이동해 그 펜스의 끝으로 간다. 이후 아래로 내려간 다음 음의 x방향으로 2만큼 이동하면 탈출구에 도달한다. 수직 이동 거리는 어떤 경로를 선택해도 같으므로 비용에 포함하지 않는다. 이 경로의 총 수평 이동 거리는 4이며, 그림에서는 이것이 최단 경로이다.

모든 펜스의 x좌표 구간이 주어졌을 때, 탈출구까지 가기 위한 최소 수평 이동 거리를 구하라.

입력

첫째 줄에 펜스의 개수 N(1 <= N <= 50,000)과 지민이의 시작 x좌표 S(-100,000 <= S <= 100,000)가 공백으로 구분되어 주어진다.

다음 N개 줄에는 각 펜스가 차지하는 구간의 두 끝 x좌표가 공백으로 구분되어 주어진다. 입력 순서에서 i번째로 주어지는 펜스는 y=i에 있다. 모든 x좌표는 -100,000 이상 100,000 이하이다.

출력

탈출구에 도달하기 위해 필요한 최소 수평 이동 거리를 출력한다.