Есть массив `a`, состоящий из `n` целых положительных чисел, и целое положительное число `k`. Из массива `a` создается массив `b` по следующим правилам: - массив `b` содержит `n*k` чисел; - первые `n` чисел массива `b` совпадают с числами массива `a`, то
- Программирование
Условие:
Есть массив a, состоящий из n целых положительных чисел и целое положительное число k. Из массива a создается массив b
по следующим правилам:
массив b
содержит n⋅k
чисел;
первые n
чисел массива b совпадают с числами массива a, то есть bi=ai для i≤n
;
для любого i>n
выполняется bi=bi−n
.
Например, если a=[2,3,1,4]
и k=3, то b=[2,3,1,4,2,3,1,4,2,3,1,4]
.
Дано число x
. Необходимо посчитать количество таких позиций l (1≤l≤n⋅k), для которых найдется такая позиция r≥l, что сумма элементов массива b на отрезке [l,r] составит не менее x (то есть bl+bl+1+⋯+br≥x
).
Входные данные
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число t
(1≤t≤104
) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит три целых числа n
, k, x (1≤n,k≤105; 1≤x≤1018
).
Вторая строка каждого набора входных данных содержит n
целых положительных чисел ai (1≤ai≤108
).
Дополнительные ограничения на входные данные:
сумма n
по всем наборам входных данных не превышает 2⋅105
;
сумма k
по всем наборам входных данных не превышает 2⋅105
.
Выходные данные
Для каждого набора входных данных выведите одно целое число — количество подходящих позиций l
в массиве b
.
Пример
Входные данные
Скопировать
7
5 3 10
3 4 2 1 5
15 97623 1300111
105 95 108 111 118 101 95 118 97 108 111 114 97 110 116
1 100000 1234567891011
1
1 1 1
1
1 1 1
2
2 1 2
1 1
2 1 5
2 1
Выходные данные
Скопировать
12
1452188
0
1
1
1
0
Примечание
В первом наборе входных данных массив b
выглядит так:
[3,4,2,1,5,3,4,2,1,5,3,4,2,1,5]
Существует 12
позиций l, для которых найдется подходящая позиция r
. Вот некоторые (не все) из них:
l=1
, для которой есть позиция r=6, сумма на отрезке [1,6] равна 18
;
l=2
, для которой есть позиция r=5, сумма на отрезке [2,5] равна 12
;
l=6
, для которой есть позиция r=9, сумма на отрезке [6,9] равна 10.
Решение:
Для решения данной задачи, давайте разберем шаги, которые нам нужно выполнить. ### Шаг 1: Понимание задачи У нас есть массив `a` длиной `n`, который повторяется `k` раз для создания массива `b` длиной `n * k`. Нам нужно найти количество позиций `l` в массиве `b`, для которых существует позиция `r` (где `r = l`), такая что сумма элементов от `l` до `r` не менее `x`. ### Шаг 2: Определение суммы элементов Сначала определим сумму элементов массива `a`: \[ S = a_1 + a_2 + ... + a_n \] ### Шаг 3: Определение количества подходящих позиций Поскольку массив `b` является циклическим, мы можем ис...
Похожие задачи
Не нашел нужную задачу?
Воспользуйся поиском
AI помощники
Выбери предмет
- Правоохранительные органы
- Пожарная безопасность
- Парикмахерское искусство
- Природообустройство и водопользование
- Почвоведение
- Приборостроение и оптотехника
- Промышленный маркетинг и менеджмент
- Производственный маркетинг и менеджмент
- Процессы и аппараты
- Программирование
- Право и юриспруденция
- Психология
- Политология
- Педагогика
- Трудовое право
- Теория государства и права (ТГП)
- Таможенное право
- Теория игр
- Теория вероятностей
- Теоретическая механика
- Теория управления
- Технология продовольственных продуктов и товаров
- Технологические машины и оборудование
- Теплоэнергетика и теплотехника
- Туризм
- Товароведение
- Таможенное дело
- Торговое дело
- Теория машин и механизмов
- Транспортные средства