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

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

Новый фонтан

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

요약
n×m 격자의 기둥 높이가 주어질 때, 경계에는 물이 없고 물이 이웃으로 넘치지 않는다는 조건 아래 가둘 수 있는 물의 최대 부피를 구한다.
난이도

보통10점 중 7점

유형
힙, 그래프, BFS, 구현
정답자
아직 제출이 없습니다

문제

Сегодня, прогуливаясь по Альфе, Лорелин обнаружила новый фонтан, который совсем скоро будет открыт и наполнен водой. Лорелин стало интересно, сколько воды будет помещаться в этот фонтан.

Фонтан представляет из себя набор столбиков. Основанием фонтана является прямоугольное поле n×mn \times m, разделенное на nmnm единичных квадратов. Строки основания пронумерованы целыми числами от 11 до nn, а столбцы --- целыми числами от 11 до mm. В каждой клетке поля расположен столбик целой положительной высоты. Высота столбика, расположенного на пересечении ii-й строки и jj-го столбца, составляет h_i,jh\_{i, j}.

После открытия фонтана сверху на него будет литься вода до тех пор, пока она не заполнит все возможные пустоты внутри фонтана. Приведем формальное описание заполнения фонтана водой: после того, как фонтан будет открыт, на каждом из столбиков сверху появится столб воды некоторой неотрицательной (но, возможно, нулевой) высоты. Пусть высота столба воды на столбике, расположенном на пересечении ii-го столбца и jj-й строки, составляет w_i,jw\_{i, j}. Будем говорить, что вода не выливается из фонтана, если выполнены следующие условия:

  • Если i∈1,ni \in \\{1, n\\} или j∈1,mj \in \\{1, m\\}, то w_i,j=0w\_{i, j} = 0. Иными словами, на столбиках, расположенных на границе поля, сверху нет воды: она стекает за пределы фонтана.
  • Если ∣i_1−i_2∣+∣j_1−j_2∣=1|i\_1 - i\_2| + |j\_1 - j\_2| = 1, то либо w_i_1,j_1=0w\_{i\_1, j\_1} = 0, либо h_i_1,j_1+w_i_1,j_1≤h_i_2,j_2+w_i_2,j_2h\_{i\_1, j\_1} + w\_{i\_1, j\_1} \le h\_{i\_2, j\_2} + w\_{i\_2, j\_2}. Иными словами, для любого столбика выполнено одно из двух: либо на нем сверху нет воды, либо суммарная высота столбика и столба воды на нем не превышает суммарной высоты столбика и столба воды на каждом из соседних по стороне столбиков.

Общий объем воды, находящейся в фонтане, равен сумме значений w_i,jw\_{i, j} для всех столбиков. Фонтан наполняется водой таким образом, чтобы общий объем воды был максимально возможным.

Лорелин запомнила размеры основания фонтана, а также высоты всех столбиков, из которых он состоит, однако посчитать, какой объем воды будет помещаться в фонтане, она затрудняется. Помогите ей справиться с этой задачей, ведь у самой Лорелин есть куда более полезные дела!

입력

Первая строка входных данных содержит два целых числа nn и mm --- количество строк и столбцов в основании фонтана (3≤n,m≤9003 \le n, m \le 900).

Каждая из следующих nn строк содержит по mm целых чисел. Строка с номером i+1i + 1 содержит числа h_i,1,h_i,2,…,h_i,mh\_{i, 1}, h\_{i, 2}, \dots, h\_{i, m} --- высоты столбиков, располагающихся в ii-й строке (1≤h_i,j≤1091 \le h\_{i, j} \le 10^9).

출력

Выведите единственное число --- максимальный общий объем воды, который может поместиться в фонтан.

힌트

В первом тесте из условия максимальный объем достигается при w_2,2=2w\_{2, 2} = 2, w_2,3=1w\_{2, 3} = 1, w_i,j=0w\_{i, j} = 0 для всех остальных столбиков. Легко убедиться, что все необходимые условия при этом выполняются, а общий объем воды равен 33.

Во втором тесте из условия только на двух столбиках может располагаться вода: максимальный объем достигается при w_2,2=1w\_{2, 2} = 1, w_2,3=1w\_{2, 3} = 1, w_i,j=0w\_{i, j} = 0 для всех остальных столбиков. Общий объем воды равен 22.

예제2

  1. 예제 1

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

    입력
    4 5
    2 2 2 2 2
    2 1 1 2 2
    2 2 2 1 1
    2 2 2 2 2
    
    예상 출력
    2