해결한 사람
0
명
정답률
0.00
%
시간 제한
1000
ms
메모리 제한
245
MB
Polycarp는 등차수열을 좋아한다. 수열 에서 각 i (1 ≤ i < n)에 대해 - 의 값이 같으면 이 수열을 등차수열이라고 한다. 예를 들어, 수열 , , , 은 등차수열이지만, , , 은 그렇지 않다.
정의에 따라 길이가 하나 또는 둘인 모든 수열은 등차수열이다.
Polycarp는 양의 정수로 이루어진 어떤 수열 을 발견했다. 그는 각 원소를 최대 하나만큼 변경할 수 있다. 다시 말해, 각 원소에는 정확히 세 가지 선택지가 있다. 원소를 1만큼 감소시키거나, 원소를 1만큼 증가시키거나, 원소를 변경하지 않을 수 있다.
수열 b가 등차수열이 되도록 b에서 변경할 수 있는 원소의 가능한 최소 개수(각 원소를 정확히 하나만큼 변경)를 구하거나, 불가능하다고 보고한다.
결과 수열에 0과 같은 원소가 포함될 수도 있다.
첫째 줄에 정수 하나 n (1 ≤ n ≤ 100 000)이 주어진다. 이는 b의 원소 개수이다.
둘째 줄에 수열 , , ..., (1 ≤ ≤ )이 주어진다.
설명된 연산으로 등차수열을 만드는 것이 불가능하면 -1을 출력한다. 그 외의 경우에는 주어진 수열을 등차수열로 만들기 위해 변경해야 하는 원소의 최소 개수인 음이 아닌 정수를 출력한다. 허용되는 유일한 연산은 원소에 하나를 더하거나 원소에서 하나를 빼는 것이다(같은 위치에는 연산을 두 번 사용할 수 없다).
2
500 500
0
5
1 3 6 9 12
1
4
24 21 14 10
3
첫 번째 예제에서 Polycarp는 첫 번째 수를 1만큼 증가시키고, 두 번째 수를 1만큼 감소시키고, 세 번째 수를 1만큼 증가시켜야 하며, 네 번째 수는 변경하지 않아야 한다. 따라서 Polycarp가 세 원소를 하나만큼 변경한 후 그의 수열은 등차수열인 과 같아진다.
두 번째 예제에서는 그의 수열이 등차수열이므로 Polycarp가 아무것도 변경하지 않아야 한다.
세 번째 예제에서는 등차수열을 만드는 것이 불가능하다.
네 번째 예제에서 Polycarp는 첫 번째 원소만 변경해야 하며, 이를 하나만큼 감소시켜야 한다. 그러면 그의 수열은 등차수열인 처럼 보이게 된다.