Прибавления на подпрямоугольниках

Просмотр в формате PDF

Submit solution


Очки: 170
Ограничение по времени: 2.0s
Ограничение по памяти: 256M

Problem types
Allowed languages
C++, Python

На карте размером r x c изначально во всех клетках записан ноль.

Система получает q команд. Каждая команда задаёт прямоугольную зону карты с левым верхним углом (r1, c1) и правым нижним углом (r2, c2), после чего ко всем клеткам этой зоны прибавляется значение v. Значение v может быть как положительным, так и отрицательным.

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

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

Первая строка содержит три целых числа r, c и q — количество строк, количество столбцов и количество команд.

Каждая из следующих q строк содержит по пять целых чисел: r1, c1, r2, c2, v — описание одной команды применения надбавки к прямоугольной зоне.

Все данные вводятся через стандартный ввод.

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

Выведите одно целое число — максимальное значение в некоторой клетке карты после применения всех команд.

Выводите ответ в стандартный вывод.

Ограничения

  • 1 <= r, c <= 1000
  • 1 <= q <= 2 * 10^5
  • 1 <= r1 <= r2 <= r
  • 1 <= c1 <= c2 <= c
  • -10^9 <= v <= 10^9

Ответ может не помещаться в 32-битный целочисленный тип.

Примеры

Пример 1

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

3 3 2
1 1 2 2 5
2 2 3 3 3

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

8

Пояснение

Клетка (2,2) попала в обе операции: 5 + 3 = 8 — максимум.

Пример 2

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

1 1 1
1 1 1 1 -637

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

-637

Комментарии

Еще нет ни одного комментария.