Олимпиадный тренинг

Задача . D. X-сумма


Дедушка Тимура подарил ему шахматную доску, чтобы он попрактиковался. Эта доска \(a\) состоит из \(n\) строк и \(m\) столбцов. На каждой клетке написано неотрицательное целое число.

Задача Тимура поставить слона так, чтобы сумма на клетках, атакованных им, была максимальна. Слон атакует во всех направлениях по диагонали. Расстояние, на которое атакует слон, не ограничено. Обратите внимание, что клетка, в которой стоит слон, также считается атакованной. Помогите ему найти максимальную сумму, которую он может получить.

Входные данные

Первая строка входных данных содержит число \(t\) (\(1 \le t \le 1000\)) — количество наборов входных данных в тесте. Далее следуют описания самих наборов.

Первая строка каждого набора содержит два числа \(n\) и \(m\) (\(1 \le n \le 200\), \(1 \leq m \leq 200\)).

Следующие \(n\) строк содержат по \(m\) целых чисел, \(j\)-й элемент \(i\)-й строки \(a_{ij}\) — это число, записанное в \(j\)-й клетке \(i\)-й строки \((0\leq a_{ij} \leq 10^6)\)

Гарантируется, что сумма \(n\cdot m\) по всем наборам не превосходит \(4\cdot10^4\).

Выходные данные

Для каждого набора входных данных выведите одно число — максимальную сумму по всем возможным размещениям слона.

Примечание

В первом примере лучшая сумма достигается в этой позиции:


Примеры
Входные данныеВыходные данные
1 4
4 4
1 2 2 1
2 4 2 4
2 2 3 1
2 4 2 4
2 1
1
0
3 3
1 1 1
1 1 1
1 1 1
3 3
0 1 1
1 0 1
1 1 0
20
1
5
3

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя