Loading [MathJax]/jax/output/SVG/jax.js

3-й этап Республиканской олимпиады по информатике 2020-2021, 2 тура


Задача A. Матрицы

Ограничение по времени:
1 секунда
Ограничение по памяти:
256 мегабайт

Вам дана матрица размера N×M, состоящая из целых положительных чисел, а также целое число K. Назовем подматрицу хорошей, если она является квадратом и сумма этой подматрицы не больше K. Посчитайте количество хороших подматриц. Подматрицей называется такая матрица, которую можно получить из исходной, если удалить из нее несколько(возможно ноль) столбцов с левого и правого края, а также несколько(возможно ноль) строк с верхнего и нижнего края. При этом подматрица не должна быть пустой.
Формат входного файла
В первой строке заданы 3 целых числа N, M, K — размеры матрицы и ограничение на сумму. (1<=N,M<=1500, 0<=K<=109) В следующих N строках содержится по M целых положительных чисел — содержимое матрицы (числа по значению от 1 до 1000).
Формат выходного файла
Выведите одно число — количество подходящих подматриц.
Система оценки
Данная задача содержит 6 подзадач, в которых выполняются следующие ограничения:
  1. Тесты из условия. Оценивается в 0 баллов.
  2. N,M<=2. Оценивается в 15 баллов.
  3. N,M<=100. Оценивается в 17 баллов.
  4. N,M<=500. Оценивается в 24 балла.
  5. N,M<=1500 и матрица состоит только из единичек. Оценивается в 15 баллов.
  6. Исходные ограничения. Оценивается в 29 баллов.
Примеры:
Вход
  
3 3 12
1 2 3
5 2 5
3 2 4
Ответ
12
Вход
  
6 6 30
4 4 4 1 1 1
2 5 5 3 2 3
3 2 2 4 1 3
1 1 4 4 4 5
1 3 3 4 5 5
2 5 5 4 3 4
Ответ
71
( Abay Baimukanov )
посмотреть в олимпиаде

Комментарий/решение:

пред. Правка 2   0
2 года 1 месяца назад #

показать/скрыть код

C++

7 тест не правильный ответ

пред. Правка 2   0
1 года 3 месяца назад #

Полное решение

показать/скрыть код

C++