시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB216817538.071%

문제

$1$ 이상 $N$ 이하의 모든 정수가 한 번씩 등장하는 수열 $A_1, A_2, \cdots, A_N$이 주어진다. 이 수열에 아래 연산을 $0$회 이상 적용해서 오름차순으로 만들려고 한다.

  • 수열의 앞쪽 $\left\lfloor \frac N2 \right\rfloor$개의 원소 중 하나와 수열의 뒤쪽 $\left\lfloor \frac N2 \right\rfloor$개의 원소 중 하나를 고른 뒤, 두 원소의 위치를 맞바꾼다.

수열을 오름차순으로 만드는 데 필요한 최소 연산 횟수를 구하자.

입력

첫째 줄에 수열의 길이 $N$이 주어진다. $\left( 1\leq N\leq 200\, 000 \right)$

둘째 줄에 $A_1, A_2, \cdots, A_N$이 공백으로 구분되어 주어진다. $\left( 1\leq A_i\leq N \right)$

수열의 원소는 $1$부터 $N$까지의 정수가 한 번씩만 등장한다.

출력

수열을 오름차순으로 정렬하는 데 드는 최소 연산 횟수를 출력한다. 오름차순으로 정렬할 수 없다면 $-1$을 출력한다.

예제 입력 1

4
1 3 2 4

예제 출력 1

1

예제 입력 2

5
1 2 4 3 5

예제 출력 2

-1

예제 입력 3

4
4 3 2 1

예제 출력 3

2

예제 입력 4

8
8 7 6 4 2 3 5 1

예제 출력 4

4

예제 입력 5

11
11 3 4 2 10 6 7 8 5 1 9

예제 출력 5

8

노트

$\lfloor x\rfloor$는 $x$의 소수점 이하를 버림한 값이다. 예를 들어, $\lfloor 2.5\rfloor$는 $2$이다.