반품 회수

시간 제한1초메모리 제한1024 MB

요약
트럭이 시각 0에 위치 0에서 출발해 각 집의 내놓는 시각 이후에 물건을 회수하고 다시 0으로 돌아오는 최소 시간을 구한다.
난이도

보통10점 중 7점

유형
동적 계획법, 그리디
정답자
아직 제출이 없습니다

문제

아래 그림과 같이 직선 형태의 도로상에 왼쪽부터 오른쪽으로 11번부터 NN번까지 번호가 붙어 있는 NN개의 집이 있다. ii (1≤i≤N1 ≤ i ≤ N)번 집의 위치는 X_iX\_i (X_i>0X\_i > 0)이다.

택배 회사는 한 대의 트럭을 이용해 NN개의 집을 방문하면서 반품되는 물건을 회수하려고 한다. 트럭은 택배 회사가 있는 위치 00에서 시각 00에 출발하고, ii번 집은 시각 T_iT\_i에 반품할 물건을 내놓는다. 트럭은 11의 속력으로 이동하므로, dd만큼의 거리를 이동하는데 dd시간이 걸린다. 또한, 트럭은 필요하면 움직이지 않고 제자리에 멈춰서 기다릴 수 있다.

트럭은 반품할 물건이 나와있는 집의 위치를 지나면 순식간에 물건을 회수할 수 있다. 즉, 물건을 회수하는 데 소요되는 시간은 00이다. 따라서 트럭은 위치 X_iX\_i를 시각 T_iT\_i 또는 그 이후에 지나면 ii번 집에서 내놓은 물건을 회수할 수 있다.

직선 형태의 도로 위에 있는 집의 위치와 반품할 물건을 내놓는 시각이 주어질 때, 트럭이 모든 물건을 회수해서 다시 택배 회사로 돌아오는 데 걸리는 시간의 최솟값을 구하는 프로그램을 작성하라.

입력

첫 번째 줄에 반품할 물건을 내놓을 집의 개수 NN이 주어진다.

두 번째 줄에 각 집의 위치 X_1,X_2,⋯ ,X_NX\_1, X\_2, \cdots , X\_N이 공백으로 구분되어 주어진다.

세 번째 줄에 각 집이 물건을 내놓는 시각 T_1,T_2,⋯ ,T_NT\_1, T\_2, \cdots , T\_N이 공백으로 구분되어 주어진다.

출력

첫 번째 줄에 트럭이 모든 물건을 회수하고 다시 택배 회사로 돌아오기 위해 필요한 시간의 최솟값을 출력한다.

제한

  • 주어지는 모든 수는 정수이다.
  • 1≤N≤3,0001 ≤ N ≤ 3\\, 000
  • 1≤X_1<X_2<⋯<X_N≤1081 ≤ X\_1 < X\_2 < \cdots < X\_N ≤ 10^8
  • 0≤T_i≤1080 ≤ T\_i ≤ 10^8 (1≤i≤N1 ≤ i ≤ N)

예제2

  1. 예제 1

    입력
    4
    2 5 7 10
    20 4 16 11
    
    예상 출력
    23
    
  2. 예제 2

    입력
    3
    1 2 3
    3 2 1
    
    예상 출력
    6