У Славика есть массив длины \(n\), состоящий только из нулей и единиц. За одну операцию он может удалить либо первый, либо последний элемент массива.
Какое минимальное число операций нужно совершить Славику, чтобы сумма оставшихся элементов в массиве равнялась в точности \(s\) после совершения всех операций? В случае, если число \(s\) не может быть получено как сумма элементов массива после любого числа операций, выведите «-1».
Выходные данные
Для каждого набора входных данных выведите единственное число — минимальное количество операций, необходимое чтобы сумма всех элементов массива равнялась \(s\). Выведите «-1», если получить массив с суммой элементов \(s\) невозможно.
Примечание
В первом наборе сумма элементов во всем массиве уже равна \(1\), поэтому никаких операций больше не требуется.
Во втором наборе сумма элементов равна \(2\), а нам нужна сумма \(1\), поэтому мы можем удалить из массива первый элемент, после чего массив превратится в \([1, 0]\), сумма элементов которого будет равна \(1\).
В третьем наборе сумма элементов массива изначально равна \(5\), а нам нужна сумма \(3\). Мы можем получить такую сумму удалив первые 2 элемента, после чего удалив последний элемент, сделав всего 3 операции. Массив станет \([0, 1, 1, 1, 0, 0]\), сумма элементов которого будет \(3\).
| № | Входные данные | Выходные данные |
|
1
|
7
3 1
1 0 0
3 1
1 1 0
9 3
0 1 0 1 1 1 0 0 1
6 4
1 1 1 1 1 1
5 1
0 0 1 1 0
16 2
1 1 0 0 1 0 0 1 1 0 0 0 0 0 1 1
6 3
1 0 1 0 0 0
|
0
1
3
2
2
7
-1
|