등차수열

NYPC 2025 · Round 1

NN개의 항을 가진 수열 AA가 있다. 각 항에 11을 더하거나 빼는 연산을 수행할 수 있다. 단, 이 연산은 항 하나에 최대 한 번만 적용 가능하다. 즉, AAii번째 항의 값이 초기에 xx로 주어졌다면, 최종적으로 ii번째 항의 값은 연산을 수행하지 않은 경우에는 xx, 연산을 수행한 경우에는 x+1x + 1 혹은 x1x - 1중 하나가 가능하다.

최소한의 연산으로 수열 AA가 공차 11인 등차수열이 되도록 만드는 프로그램을 작성하라.

여기서 공차 11인 등차수열이라 함은, 1i<N1 \le i < N인 모든 정수 ii에 대해, i+1i + 1번째 항 Ai+1A_{i+1}에서 ii번째 항 AiA_i를 뺀 값이 Ai+1Ai=1A_{i+1} - A_i = 1임을 뜻한다.

입력 형식

첫 줄에 수열의 길이를 나타내는 정수 NN이 주어진다. (1N1000001 \le N \le 100\,000)

그다음 줄에 수열의 NN개의 항의 초깃값이 공백으로 구분되어 차례대로 주어진다. 이 값은 모두 11 이상 10000000001\,000\,000\,000 이하의 정수다.

항상 연산을 적절히 사용하여 공차 11인 등차수열을 만들 수 있는 경우만 입력으로 주어진다.

출력 형식

첫 줄에 최소 연산 횟수를 출력한다.

예제

입력

5 1 3 4 5 5

출력

2

예제 설명

한 번의 연산으로 수열의 첫 번째 값을 22로 바꾸고, 또 한 번의 연산으로 수열의 마지막 값을 66으로 바꾸는 것이 최적이다. 이 경우, 최종적으로 수열은 [2,3,4,5,6][2, 3, 4, 5, 6]이 된다.

채점 방식

입력 케이스들은 다음과 같은 종류로 구별되며, 한 종류의 케이스를 다 맞혀야 그 종류에 배정된 점수를 받을 수 있다.

종류 1: 34

N1000;N \le 1\,000; 수열의 항의 초깃값은 모두 10001\,000 이하.

종류 2: 25

N1000N \le 1\,000

종류 3: 41

모든 입력 케이스가 주어짐.

해설