зеркало из
https://github.com/iharh/notes.git
synced 2025-11-05 16:16:09 +02:00
59 строки
2.1 KiB
Plaintext
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
|