Codeforces Round 787 (Div. 3) |
---|
Закончено |
Заданы $$$n$$$ целых чисел $$$a_1, a_2, \dots, a_n$$$. Над ними можно совершать следующую операцию:
Выведите минимальное количество операций, которое необходимо совершить, чтобы последовательность чисел стала строго возрастающей (то есть, чтобы было выполнено условие $$$a_1 \lt a_2 \lt \dots \lt a_n$$$). Или определите, что такую последовательность получить невозможно. Обратите внимание на то, что элементы нельзя менять местами. Единственная возможная операция описана выше.
Например, пусть $$$n = 3$$$ и задана последовательность чисел $$$[3, 6, 5]$$$. Тогда достаточно совершить над ней две операции:
Полученная последовательность является строго возрастающей, так как $$$1 \lt 3 \lt 5$$$.
В первой строке записано единственное число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных в тесте.
Далее следуют описания наборов входных данных.
В первой строке каждого набора входных данных содержится единственное целое число $$$n$$$ ($$$1 \le n \le 30$$$).
Во второй строке каждого набора входных данных записано ровно $$$n$$$ целых чисел $$$a_1, a_2, \dots, a_n$$$ ($$$0 \le a_i \le 2 \cdot 10^9$$$).
Для каждого набора входных данных в отдельной строке выведите единственное число — минимальное количество операций, которое нужно совершить над последовательностью, чтобы она стала строго возрастающей. Если строго возрастающую последовательность невозможно получить, то выведите «-1».
733 6 545 3 2 151 2 3 4 51100000000042 8 7 558 26 5 21 1025 14
2 -1 0 0 4 11 0
Первый набор входных данных разобран в условии.
Во втором наборе входных данных получить строго возрастающую последовательность невозможно.
В третьем наборе входных данных последовательность уже является строго возрастающей.
Название |
---|