만드는 중입니다

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

풍수

면접 대비

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

요약
1부터 N까지의 순열이 주어졌을 때, 감소했다가 증가하는 모양을 만드는 인접 원소 교환의 최소 횟수를 구합니다.
난이도

보통10점 중 5점

유형
배열, 그리디
정답자
아직 제출이 없습니다

문제

서쪽에서 동쪽으로 한 줄로 놓인 NN개의 화분이 있다. 화분에는 번호가 11부터 NN까지 붙어 있다. 각 화분의 높이는 모두 다르며, ii번 화분은 높이가 AiA_i번째로 낮다. 즉, 배열 [A1,A2,…,AN][A_1, A_2, \dots, A_N]은 [1,2,…,N][1, 2, \dots, N]의 순열이다.

풍수를 공부한 뒤, 화분을 다음과 같이 배치하면 집이 더 건강해진다고 판단하였다. 어떤 정수 kk가 있어서 1≤k≤N1 \le k \le N을 만족하고, 모든 1≤i<k1 \le i < k에 대해 Ai>Ai+1A_i > A_{i+1}이며, 모든 k≤i<Nk \le i < N에 대해 Ai<Ai+1A_i < A_{i+1}이어야 한다. 인접한 두 화분을 서로 바꿀 수 있으며, 이 작업은 0번 이상 할 수 있다. 화분은 깨지기 쉬우므로 교환 횟수를 최소로 하고자 한다. 풍수 규칙을 만족하는 배치를 만들 때 필요한 교환 횟수의 최솟값을 구하라.

입력

첫째 줄에 정수 NN (1≤N≤300 0001 \le N \le 300\,000)이 주어진다. 둘째 줄에는 NN개의 정수 A1,A2,…,ANA_1, A_2, \dots, A_N (1≤Ai≤N1 \le A_i \le N)이 주어진다. 배열 AA는 [1,2,…,N][1, 2, \dots, N]의 순열이다.

출력

풍수 규칙을 만족하도록 화분을 배치하는 데 필요한 최소 교환 횟수를 한 줄에 출력한다.

예제3

  1. 예제 1

    입력
    6
    2 6 5 3 1 4
    
    예상 출력
    3
    
  2. 예제 2

    입력
    5
    1 2 3 4 5
    
    예상 출력
    0
    
  3. 예제 3

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