Codeforces Round 481 (Div. 3) |
---|
Закончено |
Поликарп обожает арифметические прогрессии. Последовательность $$$[a_1, a_2, \dots, a_n]$$$ называется арифметической прогрессией, если для любого $$$i$$$ ($$$1 \le i < n$$$) значение выражения $$$a_{i+1} - a_i$$$ одинаково. Например, последовательности $$$[42]$$$, $$$[5, 5, 5]$$$, $$$[2, 11, 20, 29]$$$ и $$$[3, 2, 1, 0]$$$ — арифметические прогрессии, а $$$[1, 0, 1]$$$, $$$[1, 3, 9]$$$ и $$$[2, 3, 1]$$$ — нет.
Из определения следует, что любая последовательность из одного элемента или двух элементов — арифметическая прогрессия.
Поликарп нашел на улице некоторую последовательность положительных целых чисел $$$[b_1, b_2, \dots, b_n]$$$. Он согласен изменить каждый из элементов не более чем на единицу. Иными словами, каждый элемент последовательности может быть уменьшен на $$$1$$$, оставлен без изменений или увеличен на $$$1$$$.
Определите минимальное количество элементов последовательности $$$b$$$, которые нужно изменить Поликарпу на единицу таким образом, чтобы последовательность $$$b$$$ стала арифметической прогрессией, либо сообщите, что это невозможно.
Допустимо, что после изменений последовательность содержит $$$0$$$.
В первой строке следует целое число $$$n$$$ $$$(1 \le n \le 100\,000)$$$ — количество элементов в последовательности $$$b$$$.
Во второй строке следует последовательность $$$b_1, b_2, \dots, b_n$$$ $$$(1 \le b_i \le 10^{9})$$$.
Если невозможно получить арифметическую прогрессию с помощью описанных операций, выведите -1. В противном случае, выведите неотрицательное целое число — минимальное количество элементов последовательности, которые нужно изменить на единицу таким образом, чтобы последовательность стала арифметической прогрессией.
4
24 21 14 10
3
2
500 500
0
3
14 5 1
-1
5
1 3 6 9 12
1
В первом примере нужно увеличить первое число на $$$1$$$, уменьшить второе число на $$$1$$$, увеличить третье число на $$$1$$$, а четвертое число оставить без изменений. Таким образом, после изменения на единицу трех элементов, получим последовательность $$$[25, 20, 15, 10]$$$, которая является арифметической прогрессией.
Во втором примере не нужно изменять ни одного элемента, так как данная последовательность является арифметической прогрессией.
В третьем примере невозможно получить арифметическую прогрессию.
В четвертом примере нужно изменить только первый элемент, уменьшив его на единицу. После этого получим последовательность $$$[0, 3, 6, 9, 12]$$$, которая является арифметической прогрессией.
Название |
---|