Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Алгоритмы
Курсы ККДП
Дистрибутивы
Ссылки

HotLog


 

Сумма в ромбе

(Время: 3 сек. Память: 16 Мб Сложность: 55%)

Дано клетчатое поле размера N×M, в каждой клетке которого записано целое число. Назовем ромбом с центром в клетке (x,y) и диагональю 2×d+1 (d – неотрицательное целое число) множество клеток (x',y'), которые удовлетворяют неравенству:

|x – x'| + |y – y'| ≤ d .

Ромб содержит ровно d2 + (d+1)2 клеток с целочисленными координатами. Если среди всех клеток, принадлежащих ромбу, нет таких, которые лежат за границей заданного поля, то ромб принадлежит клетчатому полю. В дальнейшем будем рассматривать только ромбы, принадлежащие клетчатому полю.

Под суммой в ромбе будем понимать сумму всех чисел, записанных в ячейках поля, координаты которых принадлежат заданному ромбу.

Например, на рисунке справа показан ромб на клетчатом поле 5×5 с центром в клетке (3,3) и диагональю 5, сумма в котором равна -88, а количество клеток, принадлежащих ромбу, равно 22 + 32 = 13.

Вам дано клетчатое поле с числами, записанными в его ячейках, и q запросов, каждый из которых характеризуется одним целым числом ci. Ваша задача среди всех принадлежащих полю ромбов найти такие, которые содержат ровно ci клеток, среди них найти ромбы с максимальной суммой и найти значение этой максимальной суммы.

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

В первой строке входного файла INPUT.TXT записаны два натуральных числа N и M – высота и ширина поля (N, M < 512). Каждая из последующих N строк содержит M целых чисел, записанных через пробел – числа, записанные в ячейках клетчатого поля. Числа в ячейках клетчатого поля по модулю не превосходят 2×104. В следующей строке указано одно неотрицательное целое число q, не превышающее 2×105 – количество запросов. Затем в q строках указано по одному целому числу ci (|ci| ≤ 106).

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

В выходной файл OUTPUT.TXT в ответ на i-й запрос в отдельной строке укажите три числа: сначала ni – количество различных ромбов, в которых ровно ci клеток, затем mi – количество тех из них, сумма в которых максимальна среди всех ni ромбов, и si – значение максимальной суммы соответственно. Если нет ни одного подходящего ромба, то выведите ni = mi = si = 0.

Пример

INPUT.TXTOUTPUT.TXT
1 5 5
0 0 1 0 0
0 1 1 1 0
1 1 -100 1 1
0 1 1 1 0
0 0 1 0 0
5
0
1
5
13
25
0 0 0
25 12 1
9 4 3
1 1 -88
0 0 0

Пояснение к примеру

Клетчатое поле в примере совпадает с полем, изображенным на рисунке в условии задачи. В нем есть только ромбы, в которых 1, 5 или 13 клеток, и их 25, 9 и 1 соответственно. Нетрудно видеть, что:

  • максимальная сумма в ромбах, в которых ровно 1 клетка, равна 1, и таких клеток 12.
  • максимальная сумма в ромбах, в которых ровно 5 клеток, равна 3. Это 4 ромба с координатами центров (2,2), (2,4), (4,2) и (4,4).
  • максимальная сумма в ромбах, в которых ровно 13 клеток, равна -88, и такой ромб единственный.

Система оценивания

Решения, работающие только для N, M ≤ 50 и q ≤ 10, будут оцениваться в 30 баллов.

Решения, работающие только для ci ≤ 40, будут оцениваться в 40 баллов.

Решения, работающие только для N, M ≤ 50, будут оцениваться в 50 баллов.


Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

 Язык программирования C++
 Решение олимпиадных задач
 Региональные олимпиады
 Книги Фёдора Меньшикова
 Тренировочные олимпиады
 Школьный этап
 Муниципальный этап
 Региональный этап
 Полуфинал ВКОШП
 Личное первенство СФУ
 2005 / 2006
 2006 / 2007
 2007 / 2008
 2008 / 2009
 2009 / 2010
 2010 / 2011
 2011 / 2012
 2012 / 2013
 2013 / 2014 7-8 классы
 2013 / 2014 9-11 классы
 2014 / 2015 7-8 классы
 2014 / 2015 9-11 классы
 2015 / 2016 7-8 классы
 2015 / 2016 9-11 классы
 2016 / 2017 7-8 классы
 2016 / 2017 9-11 классы
 2017 / 2018 7-8 классы
 2017 / 2018 9-11 классы
 2018 / 2019 7-8 классы
 2018 / 2019 9-11 классы
 A. Максимальная скорость
 B. Минимальный циклический сдвиг
 C. Уравнение
 D. Дачный участок
 E. Геометрическая прогрессия
 F. Сумма в ромбе

Красноярский краевой Дворец пионеров, (c)2006 - 2019, E-mail: admin@acmp.ru