Знайдіть суми
Це задача з градерами.
Вам дано масив з цілих чисел. Також вам дано запитів у форматі , що означає, що вам потрібно знайти суму усіх чисел .
Вам потрібно реалізувати наступні функції:
void init(integer n, array of integers a)
— ціле число, яке позначає довжину масиву;
— масив цілих чисел довжиною ;
ця функція нічого не повертає.
integer ask(integer l, integer r)
— ціле число, яке позначає ліву межу запиту;
— ціле число, яке позначає праву межу запиту;
ця функція повертає ціле число — суму усіх чисел на відрізку.
array of integers askAll(integer q, array of integers l, array of integers r)
— ціле число, яке позначає кількість запитів;
— масив цілих чисел довжиною ; позначає ліву межу -го запиту;
— масив цілих чисел довжиною ; позначає праву межу -го запиту;
ця функція повертає масив цілих чисел; -те число має бути відповіддю на -й запит.
Вхідні дані
Перший рядок містить три цілі числа , , (; ; ) — кількість чисел, кількість запитів та формат запитів.
Другий рядок містить цілих чисел () — числа масиву.
Кожен з наступних рядків містить по два цілі числа та () — межі -го запиту.
Спочатку викличеться функція init
рівно один раз.
Якщо , то викличеться рівно один раз функція askAll
з усіма запитати. Якщо , то функція ask
викличеться рівно разів.
Вихідні дані
Градер виведе цілих чисел — відповіді на кожен запит.
Приклади
Оцінювання
( балів): ;
( балів): .