¿La página no carga? Prueba haciendo clic aquí.
Placeholder

#1305

징검다리 1s 128MB

Problemas

호기심 많은 개구리가 시냇물 건너편에 위치한 파리 한 마리를 흥미롭게 바라보고 있다. 

개구리와 파리 사이에는 하얀색 돌과 검은색 돌로 이루어진 징검다리가 군데군데 놓여있으며, 이 개구리에게 주어진 임무는 최대한 많은 징검다리를 밟고 파리를 잡는 것이다.

단, 징검다리를 밟을 때 제일 처음에 하얀색 돌부터 밟아야 하며, 검은색 돌과 하얀색 돌을 번갈아 밟아 마지막에는 검은색 돌을 밟아야 한다는 특이한 규정이 있다. 그렇다면 이 개구리가 파리를 잡기 위해 움직여야 할 최소 거리를 구해보자.


Entrada

입력은 세 줄로 이루어진다.

첫째 줄에 하얀색 돌의 개수를 나타내는 n_1(1≤n_1≤125)이 주어지고, 이어서 각 하얀색 돌의 위치를 나타내는 정수 a_1, a_2, … a_{n1} (1 ≤ a_k ≤ 500,200 , 1 ≤ k ≤ n_1)이 오름차순으로 주어진다.

다음 줄에는 검은색 돌의 개수를 나타내는 n_2 (1≤n_2≤163)가 주어지고 이어서 각 검은색 돌의 위치를 나타내는 정수 b_1, b_2, … b_{n2} (1 ≤ b_k ≤ 500,200 , 1 ≤ k ≤ n_2)가 오름차순으로 주어진다.

두 개의 돌이 한 좌표에 위치 할 수 없다. 마지막 줄에 파리의 위치 c 가 주어진다. max(a_{n1}, b_{n2})


Salida

입력에 개구리가 파리를 잡기까지 최소 이동거리를 한 줄에 출력한다.

개구리의 처음 좌표는 항상 0이다.


Ejemplo #1

2 1 3 

3 2 4 5
6
6

Ejemplo #2

3 2 7 9

4 1 3 4 5
10
24
Debes iniciar sesión para escribir código.