만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

버블버블

면접 대비

시간 제한1초메모리 제한1024 MB

요약
서로 다른 정수 배열을 오름차순으로 정렬할 때, 인접한 원소 교환과 전체 뒤집기(한 번만 허용) 중 최소 연산 횟수를 구합니다.
난이도

보통10점 중 5점

유형
배열, 정렬, 수학
정답자
아직 제출이 없습니다

문제

민구는 원소의 개수가 NN개이고 값이 서로 다른 정수 배열 AA를 오름차순으로 정렬하려고 한다.

배열의 ii번째 원소와 i+1i+1번째 원소의 위치를 서로 바꿀 수 있다. 또한 정렬 과정 중 언제든지 배열 전체의 순서를 최대 한 번 뒤집을 수 있다.

원소를 교환하는 것과 배열 전체를 뒤집는 것은 모두 1번의 횟수로 계산한다.

주어진 배열 AA를 오름차순으로 만드는 데 필요한 최소 횟수를 구하라.

입력

첫 번째 줄에 배열 AA의 원소 개수 NN이 주어진다. (1≤N≤1 000)(1 \le N \le 1\,000)

두 번째 줄에 AA의 원소 AiA_i가 공백을 사이에 두고 순서대로 주어진다. (1≤Ai≤106)(1 \le A_i \le 10^6)

출력

첫 번째 줄에 주어진 배열 AA를 오름차순으로 만드는 데 필요한 최소 횟수를 출력한다.

예제1

  1. 예제 1

    입력
    5
    2 5 4 1 3
    
    예상 출력
    5