만드는 중입니다

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

띠 정렬하기

면접 대비

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

요약
N개의 서로 다른 수가 적힌 종이 띠가 주어집니다. 각 조각을 뒤집을 수 있을 때 수를 오름차순으로 만드는 데 필요한 최소 자르기 횟수를 구합니다.
난이도

보통10점 중 4점

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

문제

숫자가 적힌 종이 띠가 있다. 띠에는 NN개의 서로 다른 수가 적혀 있다.

띠에 적힌 수 사이를 가위로 잘라 하나의 띠를 여러 개의 띠로 나눌 수 있으며, 여러 개의 띠가 있을 때 띠들의 순서를 자유롭게 바꿀 수 있다.

또한, 각 띠에 대해 띠에 적힌 수를 모두 지우고 원래 적혀 있던 수의 역순으로 수를 적을 수 있다.

띠에 적힌 수가 주어질 때, 수들을 왼쪽부터 오름차순으로 정렬된 상태로 표시하는 데 필요한 가위질 횟수의 최솟값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 띠에 적힌 수의 개수 NN이 주어진다.

둘째 줄에 왼쪽부터 순서대로 띠에 적힌 수 a1,a2,…,aNa_1, a_2, \dots, a_N이 주어진다.

출력

띠에 적힌 수들을 왼쪽부터 오름차순으로 표시하는 데 필요한 가위질 횟수의 최솟값을 출력한다.

제한

  • 2≤N≤200,0002 \le N \le 200{,}000
  • 1≤ai≤1091 \le a_i \le 10^9
  • 띠에 적혀 있는 수들은 모두 다른 수이다.

예제2

  1. 예제 1

    입력
    7
    94 14 9 54 4 8 60
    
    예상 출력
    4
    
  2. 예제 2

    입력
    5
    44 39 14 7 2
    
    예상 출력
    0