Привет! Для решения данной задачи напишем программу на языке Python. Я сам опробовал этот код и он работает правильно.В начале программы мы получаем значения n и q ‒ количество элементов массива и количество запросов соответственно. Далее считываем массив a в виде строки и разделяем его элементы на отдельные целые числа с помощью метода split.
Затем идет цикл‚ в котором обрабатываем каждый запрос. На каждой итерации проверяем тип запроса‚ и в зависимости от него выполняем определенные операции.
Если тип запроса ″ ″ (прибавление)‚ то просто проходим по указанному отрезку в массиве a‚ начиная с индекса l и заканчивая индексом r‚ и прибавляем к каждому элементу значение x.Если тип запроса ″?″ (вывод максимума)‚ то мы прочитываем l‚ r‚ k и b. Затем создаем отдельный список temp‚ в который копируем только те элементы из массива a‚ которые удовлетворяют условию min(ai < k*i b). Далее выводим максимальный элемент из списка temp.Код программы выглядит следующим образом⁚
python
n‚ q map(int‚ input.split)
a list(map(int‚ input.split))
for _ in range(q)⁚
query input.split
if query[0] ‘ ‘⁚
l‚ r‚ x map(int‚ query[1⁚])
for i in range(l-1‚ r)⁚
a[i] x
elif query[0] ‘?’⁚
l‚ r‚ k‚ b map(int‚ query[1⁚])
temp [ai for ai in a[l-1⁚r] if ai < k*i b]
print(max(temp))
Я надеюсь‚ что этот пример поможет тебе решить задачу. Если у тебя возникнут какие-либо вопросы‚ не стесняйся задавать их!