10923. Максимальна сума


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

Сьогодні на сторінках газети «Математичне дозвілля» було опубліковано незвичайну математичну головоломку. Одна зі сторінок газети повністю зайнята прямокутною таблицею, що складається з \(m\) рядків та \(n\) стовпців. У кожному осередку таблиці записано деяке ціле число.

Для вирішення головоломки потрібно знайти такий невироджений прямокутник з вершинами в центрах осередків таблиці, і сторонами, паралельними сторонам таблиці, щоб сума чисел, записаних в комірках на межі прямокутника, що вийшов, була максимальна.

Безуспішно витративши кілька годин на вирішення головоломки, Сашко вирішив написати програму, яка б зробила це за нього. Але й тут його спіткала невдача. Тепер йому нічого не залишається, як звернутися за допомогою до вас.

Напишіть програму, яка за заданою таблицею знайде описаний прямокутник.

Формат вхідних даних

У першому рядку вводяться два цілих числа \(𝑚\) і \(𝑛\) (\(2≤𝑚,𝑛≤300\) ).

Далі слідує опис таблиці – \(𝑚\) рядків, кожен з яких містить по \(𝑛\) цілих чисел \(𝑎_{𝑖,𝑗}\) (\(−10^4≤𝑎_{𝑖,𝑗}≤10^4 \)).

Формат вихідних даних

У першому рядку виведіть ціле число −– максимальну суму чисел на межі прямокутника, що шукається.

У другому рядку виведіть чотири натуральні числа: \(x_1 , y_1 , x_2 , y_2\)– координати лівої верхньої та правої нижньої комірки обраного прямокутника, відповідно (тут \(x\) -номер рядка, а \(y\) - номер стовпчика, нумерація починаючи з одиниці). Якщо оптимальних рішень є кілька, виведіть будь-яке.

Приклад вхідних даних

2 3
1 1 1
1 1 1

Приклад вихідних даних

6
1 1 2 3

Приклад вхідних даних

5 4
9 -2 -1 3
-10 -5 1 -4
1 -1 2 -2
3 0 0 -1
2 2 -1 2

Приклад вихідних даних

8
3 1 5 3

Коментарі

Ще немає коментарів.