아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

버스 여행

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

요약
건설 연도가 엄격히 증가하는 명소들을 순서대로 방문해 명소 매력도 합과 이동 거리(맨해튼)의 합을 최대로 만드는 문제입니다.
난이도

어려움10점 중 9점

유형
동적 계획법, 정렬, 분할 정복, 세그먼트 트리
정답자
아직 제출이 없습니다

문제

격자 모양으로 잘 정돈된 어느 도시가 있다. 이 도시에는 동-서 방향 거리 nn개와 남-북 방향 거리 mm개가 있으며, 서로 인접한 평행한 거리는 정확히 100m 간격으로 떨어져 있다.

관광 명소는 항상 두 거리가 만나는 교차로에 위치한다. ii번 동-서 거리와 jj번 남-북 거리가 만나는 교차로를 (i,j)(i, j)로 나타내며, 그곳에 관광 명소가 있다면 건설 시기 ai,ja_{i,j}와 매력도 ci,jc_{i,j}가 정해져 있다.

재현이는 관광 명소 몇 곳을 정해진 순서로 방문하는 버스 여행을 계획하려 하며, 얻는 매력도의 총합을 최대로 만들고 싶다. 규칙은 다음과 같다.

  • 이번 여행의 테마는 도시의 역사이므로, 방문하는 관광 명소의 건설 시기는 엄격히 증가해야 한다. 즉, 바로 앞에 방문한 명소보다 건설 시기가 반드시 더 커야 하며, 같아서는 안 된다.
  • 관광 명소를 방문하면 그 명소의 매력도만큼 총합이 늘어난다.
  • 버스가 두 관광 명소 사이를 이동하는 동안에도 승객들이 경치를 즐기므로, 이동 거리 100m마다 매력도가 1씩 늘어난다. 버스는 항상 최단 경로로 이동하므로, 두 명소 (i1,j1)(i_1, j_1)과 (i2,j2)(i_2, j_2) 사이를 이동하며 얻는 매력도는 ∣i1−i2∣+∣j1−j2∣|i_1 - i_2| + |j_1 - j_2|이다.
  • 이동 도중 단지 지나치기만 한 관광 명소는 방문한 것으로 치지 않는다.

여행은 아무 관광 명소에서나 시작해 아무 관광 명소에서나 끝낼 수 있고, 중간에 여러 명소를 들를 수도 있으며, 단 하나의 명소만 방문해도 된다. 가능한 모든 여행 계획 중에서 얻을 수 있는 매력도 총합의 최댓값을 구하여라.

입력

첫째 줄에 동-서 방향 거리의 개수 nn과 남-북 방향 거리의 개수 mm이 주어진다. (2≤n,m≤10002 \le n, m \le 1000)

다음 nn개의 줄에는 각 교차로의 건설 시기가 주어진다. 그중 ii번째 줄에는 mm개의 정수 ai,ja_{i,j} (0≤ai,j≤1060 \le a_{i,j} \le 10^6)가 주어지며, 이는 (i,j)(i, j) 교차로의 값이다. ai,j=0a_{i,j} = 0이면 그 교차로에는 관광 명소가 없다는 뜻이다. 관광 명소는 적어도 하나 존재한다.

이어서 nn개의 줄에는 각 교차로의 매력도가 주어진다. 그중 ii번째 줄에는 mm개의 정수 ci,jc_{i,j} (0≤ci,j≤1090 \le c_{i,j} \le 10^9)가 주어지며, 이는 (i,j)(i, j) 교차로에 있는 관광 명소의 매력도이다. 해당 교차로에 관광 명소가 없다면 ci,j=0c_{i,j} = 0임이 보장된다.

출력

가능한 여행 계획 중 얻을 수 있는 매력도 총합의 최댓값을 한 줄에 출력한다.

설명

예시 그림

아래는 첫 번째 예제에 대한 최적의 여행 계획이다. 재현이는 (2,1)→(1,5)→(2,2)→(4,5)→(1,3)(2, 1) \to (1, 5) \to (2, 2) \to (4, 5) \to (1, 3) 순서로 관광 명소를 방문한다. 방문한 명소들의 건설 시기는 각각 1,2,3,4,61, 2, 3, 4, 6으로 엄격히 증가한다.

방문한 명소들의 매력도 합은 2+2+8+3+5=202 + 2 + 8 + 3 + 5 = 20이고, 이동하며 얻은 매력도 합은 5+4+5+5=195 + 4 + 5 + 5 = 19이다. 따라서 총 매력도는 3939이다.

예제3

  1. 예제 1

    입력
    4 5
    1 2 6 0 2
    1 3 4 0 4
    0 0 4 0 3
    2 2 0 0 4
    1 3 5 0 2
    2 8 1 0 2
    0 0 3 0 4
    0 5 0 0 3
    
    예상 출력
    39
    
  2. 예제 2

    입력
    1 1
    5
    7
    
    예상 출력
    7
    
  3. 예제 3

    입력
    1 5
    1 0 0 0 2
    3 0 0 0 4
    
    예상 출력
    11