이동하기 3

면접 대비

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

요약
아래 또는 오른쪽으로만 이동하며 (0,0)에서 (N,M)까지 갈 때, 아래 이동은 A[r], 오른쪽 이동은 B[c]만큼의 쓰레기를 가지므로 최소 비용 경로를 구한다.
난이도

보통10점 중 4점

유형
그리디, 수학, 누적 합
정답자
아직 제출이 없습니다

문제

준규는 (N+1)×(M+1)(N+1)\times(M+1) 크기의 미로에 갇혀 있다. 미로는 1×11\times1 크기의 방으로 나누어져 있다. 미로의 가장 왼쪽 윗 방은 (0,0)(0, 0)이고, 가장 오른쪽 아랫 방은 (N,M)(N, M)이다.

준규는 현재 (0,0)(0, 0)에 있고, (N,M)(N, M)으로 이동하려고 한다. 준규가 (r,c)(r, c)에 있으면 문을 통해서 (r+1,c)(r+1, c), (r,c+1)(r, c+1)로 이동할 수 있다. 미로 밖으로 나갈 수는 없다.

이번에는 문틈 사이에 쓰레기가 놓여 있다. 그래서 (r,c)(r, c)에서 (r+1,c)(r+1, c)로 움직이거나 (r,c)(r, c)에서 (r,c+1)(r, c+1)로 움직일 때 문틈에 놓여 있는 쓰레기를 모두 가져가야 한다. (r,c)(r, c)에서 (r+1,c)(r+1, c)로 움직일 때는 ArA_r개, (r,c+1)(r, c+1)로 움직일 때는 BcB_c개의 쓰레기를 가져가야 한다.

준규가 (N,M)(N, M)으로 이동할 때 가져와야 하는 쓰레기의 최솟값을 구하시오.

입력

첫째 줄에 미로의 크기 NN, MM이 주어진다. (1≤N,M≤500,0001 \le N, M \le 500{,}000)

다음 줄에 NN개의 정수 AiA_i가 주어진다. (1≤Ai≤1091 \le A_i \le 10^9)

다음 줄에 MM개의 정수 BiB_i가 주어진다. (1≤Bi≤1091 \le B_i \le 10^9)

출력

첫째 줄에 준규가 (N,M)(N, M)으로 이동할 때 가져와야 하는 쓰레기의 양을 출력한다.

예제3

  1. 예제 1

    입력
    3 4
    60 20 90
    10 90 80 70
    
    예상 출력
    420
    
  2. 예제 2

    입력
    1 1
    1
    1
    
    예상 출력
    2
    
  3. 예제 3

    입력
    2 2
    1000000000 1000000000
    1000000000 1000000000
    
    예상 출력
    4000000000