반품 회수
시간 제한1초메모리 제한1024 MB
트럭이 시각 0에 위치 0에서 출발해 각 집의 내놓는 시각 이후에 물건을 회수하고 다시 0으로 돌아오는 최소 시간을 구한다.
문제
아래 그림과 같이 직선 형태의 도로상에 왼쪽부터 오른쪽으로 번부터 번까지 번호가 붙어 있는 개의 집이 있다. ()번 집의 위치는 ()이다.

택배 회사는 한 대의 트럭을 이용해 개의 집을 방문하면서 반품되는 물건을 회수하려고 한다. 트럭은 택배 회사가 있는 위치 에서 시각 에 출발하고, 번 집은 시각 에 반품할 물건을 내놓는다. 트럭은 의 속력으로 이동하므로, 만큼의 거리를 이동하는데 시간이 걸린다. 또한, 트럭은 필요하면 움직이지 않고 제자리에 멈춰서 기다릴 수 있다.
트럭은 반품할 물건이 나와있는 집의 위치를 지나면 순식간에 물건을 회수할 수 있다. 즉, 물건을 회수하는 데 소요되는 시간은 이다. 따라서 트럭은 위치 를 시각 또는 그 이후에 지나면 번 집에서 내놓은 물건을 회수할 수 있다.
직선 형태의 도로 위에 있는 집의 위치와 반품할 물건을 내놓는 시각이 주어질 때, 트럭이 모든 물건을 회수해서 다시 택배 회사로 돌아오는 데 걸리는 시간의 최솟값을 구하는 프로그램을 작성하라.
입력
첫 번째 줄에 반품할 물건을 내놓을 집의 개수 이 주어진다.
두 번째 줄에 각 집의 위치 이 공백으로 구분되어 주어진다.
세 번째 줄에 각 집이 물건을 내놓는 시각 이 공백으로 구분되어 주어진다.
출력
첫 번째 줄에 트럭이 모든 물건을 회수하고 다시 택배 회사로 돌아오기 위해 필요한 시간의 최솟값을 출력한다.
제한
- 주어지는 모든 수는 정수이다.
- ()