Задание 8. Запросы на отрезках (RSQ/RMQ)
8.1 Префиксные суммы
Дана последовательность чисел . Нужно найти сумму чисел на отрезке от до включительно: .
Используйте алгоритм префиксных сумм. Трудоемоксть вычисления суммы должна быть .
Вход
В первой строке число () — количество элементов в массиве . В следующей строке записано чисел через пробел — элементы () массива . В следующих () строках идут запросы: числа и , чтобы вычислить сумму .
Выход
строк, в каждой их которых одно число — результат вычисления суммы на отрезке .
Пример
Вход
10
1 4 3 -6 2 6 -8 2 3 5
0 9
2 4
3 7
4 4
Выход
12
-1
-4
2
8.2 Дерево отрезков для минимумов
Дана последовательность чисел . Нужно найти минимум чисел на отрезке от до : .
Используйте структуру данных дерево отрезков. Поиск минимума должен быть
Вход
В первой строке число () — количество элементов в массиве . В следующей строке записано чисел через пробел — элементы () массива . В следующих () строках идут запросы: числа и , чтобы вычислить минимум .
Выход
строк, в каждой их которых одно число — результат вычисления минимума на отрезке .
Пример
Вход
10
1 4 3 -6 2 6 -8 2 3 5
0 9
2 4
4 5
0 3
7 10
Выход
-8
-6
2
1
2