Ihar Hancharenka 5dff80e88e first
2023-03-27 16:52:17 +03:00

59 строки
2.1 KiB
Plaintext

Реализуйте структуру данных, хранящую информацию об N (1 <= N <= 100000) целых числах A1, ..., AN.
Структура должна поддерживать следующие операции.
1) INIT(N) Инициализация числом N. При этом каждому числу Ai присваивается значение 0.
2) MODIFY(l, r, value) Для каждого i, l <= i <= r, изменить Ai на Ai+value.
3) FINDMAX(l,r) Вывод в выходной файл максимума max{A[l], A[l+1], ..., A[r]}.
Input
Входной файл содержит не более 100000 операций.
Каждая операция описывается в отдельной строке.
Описание операции начинается с целого числа от 1 до 3 --- ее номера в списке выше.
Далее следуют параметры операции в порядке их перечисления в скобках.
Числа в каждой строке разделены пробелами.
Все операции корректны.
Это значит, что:
операция INIT является самой первой операцией во входном файле и больше нигде в нем не встречается;
для операции MODIFY выполняются ограничения 1 <= l <= r <= N и -10000 <= value <= 10000;
для операции FINDMAX выполняются ограничения 1 <= l <= r <= N.
Output
Выполните операции в порядке их перечисления в входном файле.
Если для выполнения операции нужно вывести некоторую информацию в выходной файл, то выведите эту информацию.
Вывод для каждой операции оформите в отдельной строке.
Example input:
1 5
2 1 1 -6
3 2 4
3 1 2
3 1 3
3 1 5
2 2 5 -4
2 4 5 -4
3 1 2
3 2 5
2 1 3 -4
3 4 5
3 5 5
2 1 1 -10
2 1 3 3
Example output:
0
0
0
0
-4
-4
-8
-8