E. Присваивание на отрезке
2000 мс · 256 МБ · всё или ничего
Запросы двух видов: присвоить значение всем элементам отрезка и узнать минимум на отрезке.
Метка снова нужна, но она другого сорта - «присвоить», а не «прибавить». Разница существенная.
| метка | как складываются две подряд |
|---|---|
| прибавить , потом | прибавить |
| присвоить , потом | присвоить - вторая затирает первую |
| прибавить , потом присвоить | присвоить |
| присвоить , потом прибавить | присвоить |
Здесь метки только присваивающие, и потому всё просто: у блока либо есть метка, либо нет.
Формат ввода
В первой строке - числа и ().
Во второй - чисел, по модулю не превосходящих .
Далее строк. «1 l r x» - присвоить на отрезке. «2 l r» - минимум на отрезке.
Формат вывода
На каждый запрос второго типа выведите минимум.
Примеры
ввод
5 3 1 2 3 4 5 2 1 5 1 2 4 0 2 1 5
вывод
1 0
ввод
3 3 5 5 5 1 2 2 1 2 1 3 2 3 3
вывод
1 5
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.