Manthan, Codefest 16 |
---|
Закончено |
Яшу надоело искать самую длинную фибоначчиеватую последовательность, и он придумал себе новое развлечение — вычисление фибоначчиеватых потенциалов.
Фибоначчиеватый потенциал массива ai вычисляется следующим образом:
Вам дан массив ai длины n и q отрезков с lj по rj. Для каждого такого отрезка j требуется вычислить фибоначчиеватый потенциал массива bi, составленного из элементов ai с lj по rj включительно. Вычислите эти значения по модулю m.
В первой строке входных данных записаны целые числа n и m (1 ≤ n, m ≤ 30 000) — длина массива и модуль, по которому требуется производить вычисления, соответственно.
В следующей строке записаны n целых чисел ai (0 ≤ ai ≤ 109) — элементы массива.
Далее следует число отрезков q (1 ≤ q ≤ 30 000).
Последние q строк содержат пары индексов lj и rj (1 ≤ lj ≤ rj ≤ n) — отрезки, на которых следует вычислить фибоначчиеватый потенциал.
Выведите q целых чисел, i-е из которых должно быть равно фибоначчиеватому потенциалу итого отрезка массива.
5 10
2 1 2 1 2
2
2 4
4 5
3
3
В данной задаче числа Фибоначчи определяются следующим образом:
Название |
---|