Codeforces Round 799 (Div. 4) |
---|
Закончено |
У Славика есть массив длины $$$n$$$, состоящий только из нулей и единиц. За одну операцию он может удалить либо первый, либо последний элемент массива.
Какое минимальное число операций нужно совершить Славику, чтобы сумма оставшихся элементов в массиве равнялась в точности $$$s$$$ после совершения всех операций? В случае, если число $$$s$$$ не может быть получено как сумма элементов массива после любого числа операций, выведите «-1».
Первая строка содержит единственное число $$$t$$$ ($$$1 \leq t \leq 10^4$$$) — количество наборов входных данных.
Первая строка каждого набора содержит два числа $$$n$$$ и $$$s$$$ ($$$1 \leq n, s \leq 2 \cdot 10^5$$$) — длина массива и необходимая сумма элементов.
Вторая строка каждого набора содержит $$$n$$$ целых чисел $$$a_i$$$ ($$$0 \leq a_i \leq 1$$$) — элементы массива.
Гарантируется что сумма $$$n$$$ по всем наборам данных не превышает $$$2 \cdot 10^5$$$.
Для каждого набора входных данных выведите единственное число — минимальное количество операций, необходимое чтобы сумма всех элементов массива равнялась $$$s$$$. Выведите «-1», если получить массив с суммой элементов $$$s$$$ невозможно.
73 11 0 03 11 1 09 30 1 0 1 1 1 0 0 16 41 1 1 1 1 15 10 0 1 1 016 21 1 0 0 1 0 0 1 1 0 0 0 0 0 1 16 31 0 1 0 0 0
0 1 3 2 2 7 -1
В первом наборе сумма элементов во всем массиве уже равна $$$1$$$, поэтому никаких операций больше не требуется.
Во втором наборе сумма элементов равна $$$2$$$, а нам нужна сумма $$$1$$$, поэтому мы можем удалить из массива первый элемент, после чего массив превратится в $$$[1, 0]$$$, сумма элементов которого будет равна $$$1$$$.
В третьем наборе сумма элементов массива изначально равна $$$5$$$, а нам нужна сумма $$$3$$$. Мы можем получить такую сумму удалив первые 2 элемента, после чего удалив последний элемент, сделав всего 3 операции. Массив станет $$$[0, 1, 1, 1, 0, 0]$$$, сумма элементов которого будет $$$3$$$.
Название |
---|