시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 512 MB 46 14 9 42.857%

문제

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

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

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

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

입력

첫째 줄에 미로의 크기 N, M이 주어진다. (1 ≤ N, M ≤ 500,000)

다음 줄에 N+1개의 정수 Ai가 주어진다. (1 ≤ Ai ≤ 109)

다음 줄에 M+1개의 정수 Bi가 주어진다. (1 ≤ Bi ≤ 109)

출력

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

예제 입력 1

2 3
60 20 90
10 90 80 70

예제 출력 1

140

예제 입력 2

1 1
1 1
1 1

예제 출력 2

2

예제 입력 3

2 2
1000000000 1000000000 1000000000
1000000000 1000000000 1000000000

예제 출력 3

4000000000

출처

  • 문제를 번역한 사람: koosaga