зеркало из
https://github.com/iharh/notes.git
synced 2025-11-05 08:06:11 +02:00
54 строки
2.3 KiB
Plaintext
54 строки
2.3 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) FINDCOVER(l,r) Вывод в выходной файл количества Ai, l ≤ i ≤ r, таких, что Ai > 0.
|
|
|
|
Input
|
|
|
|
Входной файл содержит не более 100000 операций. Каждая операция описывается в отдельной строке. Описание операции начинается с целого числа от 1 до 3 --- ее номера в списке выше. Далее следуют параметры операции в порядке их перечисления в скобках. Числа в каждой строке разделены пробелами.
|
|
|
|
Все операции корректны. Это значит, что:
|
|
|
|
операция INIT является самой первой операцией во входном файле и больше нигде в нем не встречается;
|
|
для операции MODIFY выполняются ограничения 1 ≤ l ≤ r ≤ N и -10000 ≤ value ≤ 10000;
|
|
для операции FINDCOVER выполняются ограничения 1 ≤ l ≤ r ≤ N;
|
|
в любой момент времени все числа Ai неотрицательны.
|
|
Output
|
|
|
|
Выполните операции в порядке их перечисления в входном файле. Если для выполнения операции нужно вывести некоторую информацию в выходной файл, то выведите эту информацию. Вывод для каждой операции оформите в отдельной строке.
|
|
|
|
Example input:
|
|
|
|
1 5
|
|
3 2 5
|
|
2 2 2 1
|
|
3 2 3
|
|
2 1 3 1
|
|
3 1 5
|
|
2 1 3 -1
|
|
3 2 4
|
|
2 3 4 3
|
|
3 3 5
|
|
2 1 1 7
|
|
3 5 5
|
|
2 1 1 -7
|
|
3 1 1
|
|
2 3 4 -3
|
|
3 1 3
|
|
2 2 2 -1
|
|
3 1 3
|
|
Example output:
|
|
|
|
0
|
|
1
|
|
3
|
|
1
|
|
2
|
|
0
|
|
0
|
|
1
|
|
0
|