Range minimum query - одна из базовых задач на массивах, она заключается в поиске минимума на любом подотрезке массива. Отсутствие приписки Static, означает, что у нас могут быть изменения массива, которые должны менять ответ.

!Дерево отрезков

Построим дерево отрезков на массиве и с помощью него будем отвечать на запросы, тогда само построение будет работать за , ответ на запрос за и изменение за .

Примечание

Вместо дерева отрезков можно взять дерево Фенвика, если все ваши изменения только уменьшают элементы, что может ускорить ответ на запрос и изменение, но асимптотика не меняется, так что выбор за вами.