| Codeforces Round 1122 (Div. 3) |
|---|
| Закончено |
Вихаан построил дек самостоятельно, но иногда он выходит из строя.
Вихаан хочет, чтобы итоговое содержимое дека было равно $$$[1,2,\ldots,n]$$$.
Вам дан массив $$$b$$$ длины $$$m$$$. Элементы поступают по одному в порядке $$$b_1,b_2,\ldots,b_m$$$.
Когда очередной элемент $$$b_i$$$ поступает, Вихаан должен выполнить ровно одну из следующих операций:
После того как все $$$m$$$ элементов поступят и все операции будут выполнены, дек должен содержать ровно $$$[1,2,\ldots,n]$$$ в этом порядке.
Определите минимальное число раз, когда дек должен выйти из строя, чтобы получить $$$[1,2,\ldots,n]$$$, или определите, что это невозможно.
В первой строке содержится целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных.
В первой строке каждого набора входных данных содержатся два целых числа $$$n$$$ и $$$m$$$ ($$$1 \le n \le m \le 2 \cdot 10^5$$$) — длина требуемого дека и количество поступающих элементов.
Во второй строке содержатся $$$m$$$ целых чисел $$$b_1,b_2,\ldots,b_m$$$ ($$$1 \le b_i \le n$$$) — порядок, в котором поступают элементы.
Гарантируется, что сумма $$$m$$$ по всем наборам входных данных не превышает $$$2 \cdot 10^5$$$.
Для каждого набора входных данных выведите одно целое число — минимальное число раз, когда дек должен выйти из строя.
Если получить требуемый дек невозможно, выведите $$$-1$$$.
91 31 1 13 42 1 1 24 41 4 2 34 54 3 4 2 15 81 3 2 5 4 3 1 26 61 6 5 4 3 24 61 3 2 3 4 36 82 6 3 5 2 1 4 26 81 6 2 5 1 5 3 4
0-12014023
В первом наборе входных данных Вихаан может выполнить следующие операции:
Во втором наборе входных данных значение $$$3$$$ ни разу не встречается в $$$b$$$, поэтому получить требуемый дек невозможно.
В третьем наборе входных данных Вихаан может выполнить следующие операции:
В четвёртом наборе входных данных Вихаан может выполнить следующие операции:
| Название |
|---|


