만드는 중입니다

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

직사각형 칠하기

면접 대비

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

요약
각 칸은 두 방향 대각선 중 하나로 칠해야 합니다. 격자 전체를 칠하는 대각선 비용의 최솟값을 구합니다.
난이도

보통10점 중 6점

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

문제

Srečko는 mm개의 행(00부터 m−1m-1까지 번호가 붙음)과 nn개의 열(00부터 n−1n-1까지 번호가 붙음)로 이루어진 직사각형 격자를 칠하려고 한다. 처음에는 격자의 모든 칸이 흰색이다. Srečko는 매 단계마다 대각선 하나를 골라 그 위의 모든 칸을 자신이 좋아하는 색으로 칠한다. 대각선마다 길이와 관계없이 칠하는 비용이 다르다. 각 대각선을 칠하는 비용이 주어질 때, 격자의 모든 칸을 칠하는 데 드는 최소 총비용을 구하여라. 칸은 두 번 이상 칠할 수 있다.

mm개의 행과 nn개의 열을 가진 직사각형 격자에는 2m+2n−22m + 2n - 2개의 대각선이 있다. 예를 들어 m=4m = 4, n=3n = 3이면 대각선은 12개이다:

입력

입력은 세 줄로 이루어진다.

첫 줄에는 mm과 nn이 주어진다.

둘째 줄에는 ↘ 방향 대각선을 칠하는 비용을 나타내는 m+n−1m + n - 1개의 수가 주어진다. ii번째 수(i∈{1,…,m+n−1}i \in \{1, \dots, m+n-1\})는 행 번호와 열 번호의 차가 i−ni - n인 대각선에 대응한다. 첫 번째 수는 칸 (0,n−1)(0, n-1)만으로 이루어진 대각선에 대응하고, 두 번째 수는 칸 (0,n−2)(0, n-2)와 (1,n−1)(1, n-1)을 포함하는 대각선에 대응한다. 나머지도 같은 방식이다. 대각선의 순서는 위 그림의 첫 번째 행과 같다.

셋째 줄에는 ↗ 방향 대각선을 칠하는 비용을 나타내는 m+n−1m + n - 1개의 수가 주어진다. ii번째 수(i∈{1,…,m+n−1}i \in \{1, \dots, m+n-1\})는 행 번호와 열 번호의 합이 i−1i - 1인 대각선에 대응한다. 첫 번째 수는 칸 (0,0)(0, 0)만으로 이루어진 대각선에 대응하고, 두 번째 수는 칸 (1,0)(1, 0)과 (0,1)(0, 1)을 포함하는 대각선에 대응한다. 나머지도 같은 방식이다. 대각선의 순서는 위 그림의 두 번째 행과 같다.

출력

격자를 칠하는 최소 비용을 출력한다.

제한

1≤m≤2⋅1051 \le m \le 2 \cdot 10^5

1≤n≤2⋅1051 \le n \le 2 \cdot 10^5

비용은 [1,109][1, 10^9] 구간의 정수이다.

예제2

  1. 예제 1

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

    입력
    4 3
    2 3 9 3 4 3
    2 3 3 1 2 4
    
    예상 출력
    14