Codeforces Round 969 (Div. 1) |
---|
Закончено |
Ирис только что научилась умножению на уроках математики. Однако, поскольку её мозг не в состоянии выдерживать слишком сложные вычисления, она не может перемножать два целых числа, произведение которых больше $$$k$$$. В противном случае её мозг может взорваться!
Её учитель каждый день даёт ей сложную задачу в качестве домашнего задания на летних каникулах. Теперь ей дан массив $$$a$$$, состоящий из $$$n$$$ элементов, и ей нужно вычислить произведение каждой пары соседних элементов (то есть, $$$a_1 \cdot a_2$$$, $$$a_2 \cdot a_3$$$ и так далее). Ирис хочет, чтобы её мозг не перегружался, и для этого она хотела бы изменить массив $$$a$$$ так, чтобы выполнялось условие $$$a_i \cdot a_{i + 1} \leq k$$$ для всех $$$1 \leq i < n$$$. Она может выполнять два типа операций:
Ирис хочет минимизировать количество операций типа $$$2$$$, которые она использует.
Однако это совершенно не конец летних каникул! Летние каникулы длятся $$$q$$$ дней, и в $$$i$$$-й день Ирис просят решить математическое задание для подмассива $$$b_{l_i}, b_{l_i + 1}, \ldots, b_{r_i}$$$. Помогите Ирис и скажите ей минимальное количество операций типа $$$2$$$, которые ей нужно выполнить для каждого дня. Обратите внимание, что операции независимы для каждого дня, то есть массив $$$b$$$ не изменяется.
Каждый тест состоит из нескольких наборов входных данных. Первая строка содержит одно целое число $$$t$$$ ($$$1 \leq t \leq 5\cdot 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит три целых числа $$$n$$$, $$$q$$$ и $$$k$$$ ($$$2 \leq n \leq 10^5$$$, $$$1 \leq q \leq 10^5$$$, $$$1 \leq k \leq 10^6$$$) — длина массива $$$b$$$, количество дней и верхняя граница для вычисления произведения.
Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$b_1, b_2, \ldots, b_n$$$ ($$$1 \leq b_i \leq k$$$) — элементы массива $$$b$$$.
Затем следуют $$$q$$$ строк, $$$i$$$-я из которых содержит два целых числа $$$l_i$$$ и $$$r_i$$$ ($$$1 \leq l_i < r_i \leq n$$$) — границы подмассива в $$$i$$$-й день.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$10^5$$$, и сумма $$$q$$$ по всем наборам входных данных не превосходит $$$10^5$$$.
Для каждого набора входных данных выведите одну строку, содержащую $$$q$$$ целых числа — минимальное количество операций типа $$$2$$$, необходимых для каждого дня.
53 1 11 1 11 33 2 101 10 91 32 35 4 22 2 2 2 21 22 42 51 56 5 103 2 5 10 10 11 43 61 62 55 610 10 1010 9 8 7 6 5 4 3 2 11 101 91 81 72 103 104 105 103 96 8
0 0 1 1 1 2 2 1 1 1 1 0 3 3 4 3 2 2 1 1 2 1
В первом наборе входных данных, так как Ирис всегда может перемножить $$$1$$$ и $$$1$$$, операции не требуются, поэтому ответ равен $$$0$$$.
Во втором наборе входных данных, домашнее задание первого дня — $$$[1, 10, 9]$$$. Ирис может переставить его элементы, чтобы получить $$$[9, 1, 10]$$$, поэтому операции типа $$$2$$$ не требуются. Домашнее задание второго дня — $$$[10, 9]$$$, и она может изменить один элемент, чтобы получить массив $$$[1, 9]$$$, поэтому требуется одна операция типа $$$2$$$.
Название |
---|