만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

반품 회수

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

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

보통10점 중 7점

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

문제

아래 그림과 같이 직선 도로 위에 왼쪽부터 오른쪽으로 1번부터 NN번까지 번호가 붙은 집 NN개가 있다. ii번 집의 위치는 XiX_i (Xi>0X_i > 0)이다.

택배 회사는 트럭 한 대로 NN개의 집을 차례로 방문하며 반품되는 물건을 회수하려고 한다. 트럭은 택배 회사가 있는 위치 00에서 시각 00에 출발한다. ii번 집은 시각 TiT_i에 반품할 물건을 내놓는다. 트럭의 속력은 1이므로 거리 dd를 이동하는 데 dd시간이 걸린다. 필요하면 트럭은 움직이지 않고 제자리에서 기다릴 수 있다.

트럭은 반품할 물건이 있는 집의 위치를 지나면 순식간에 물건을 회수할 수 있다. 물건을 회수하는 데 걸리는 시간은 0이다. 따라서 트럭이 위치 XiX_i를 시각 TiT_i 이후에 지나면 ii번 집에서 내놓은 물건을 회수할 수 있다.

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

입력

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

두 번째 줄에 각 집의 위치 X1,X2,⋯ ,XNX_1, X_2, \cdots, X_N이 공백으로 구분되어 주어진다.

세 번째 줄에 각 집이 물건을 내놓는 시각 T1,T2,⋯ ,TNT_1, T_2, \cdots, T_N이 공백으로 구분되어 주어진다.

출력

트럭이 모든 물건을 회수하고 다시 택배 회사로 돌아오는 데 걸리는 시간의 최솟값을 출력한다.

제한

  • 주어지는 모든 수는 정수이다.
  • 1≤N≤30001 \le N \le 3000
  • 1≤X1<X2<⋯<XN≤1081 \le X_1 < X_2 < \cdots < X_N \le 10^8
  • 0≤Ti≤1080 \le T_i \le 10^8 (1≤i≤N1 \le i \le N)

예제2

  1. 예제 1

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

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