eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Прямоугольные запросы

Прямоугольные запросы

Даны \textbf{N} точек на плоскости, у каждой точки есть ценность. Нужно быстро обрабатывать запросы двух типов: \begin{itemize} \item Присвоить всем точкам в области \[\textbf{x_1}..\textbf{x_2}\]×\[\textbf{y_1}..\textbf{y_2}\] ценность \textbf{K}. \item Найти точку с минимальной ценностью в области \[\textbf{x_1}..\textbf{x_2}\]×\[\textbf{y_1}..\textbf{y_2}\]. \end{itemize} \InputFile Число точек \textbf{N} (\textbf{1} ≤ \textbf{N} ≤ \textbf{262144}) и \textbf{N} точек. Каждая точка задается тремя числами --- \textbf{x}, \textbf{y}, \textit{\textbf{начальная ценность}}. Число запросов \textbf{M} (\textbf{1} ≤ \textbf{M} ≤ \textbf{10^4}) и \textbf{M} запросов в формате \textbf{= x_1 y_1 x_2 y_2 value} для присваивания и \textbf{? x_1 y_1 x_2 y_2} для взятия минимума. Все координаты от \textbf{-10^9} до \textbf{10^9}. Все ценности от \textbf{0} до \textbf{10^9}. \OutputFile На каждый запрос \textbf{?} выведите минимальную ценность точек в прямоугольнике. Если в прямоугольнике нет ни одной точки, выведите \textbf{NO}.
Лимит времени 4 секунды
Лимит использования памяти 256 MiB
Входные данные #1
4
1 1 1
-1 1 1
-1 -1 1
1 -1 1
7
= 0 0 3 3 2
= -3 -3 0 0 2
? 0 0 3 3
? -3 -3 3 3
= -1 -1 1 1 0
? 0 0 0 0
? -1000 -1000 1000 1000
Выходные данные #1
2
1
NO
0