만드는 중입니다

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

원, 탁!

면접 대비

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

요약
원형으로 놓인 N개의 수에서 인접한 두 수 사이를 최소 몇 번 잘라야 각 조각이 오름차순이 되는지 구합니다.
난이도

쉬움10점 중 3점

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

문제

현빈이는 수열을 좋아한다. 그중에서도 오름차순으로 정렬된 수열이라면 단연코 환장한다.

선우는 수열과 수학을 사랑하는 현빈이를 골탕 먹이려고, 숫자가 적힌 접시가 원형으로 놓인 원탁을 현빈이에게 내밀었다. 각 접시에는 시계방향으로 1부터 NN까지 번호가 붙어 있고, ii번 접시에는 aia_{i}가 적혀 있다. NN번 접시 다음에는 1번 접시가 온다.

현빈이는 수열을 시계방향으로 읽는다. 원탁이라 접시의 숫자가 순환하므로, 현빈이는 정렬된 상태를 볼 수 없다. 이에 현빈이는 몇 번의 원, 탁!을 계획한다. 원, 탁! 한 번은 다음 과정을 뜻한다.

인접한 두 접시 사이의 연결을 끊는다.

위 그림에서 1이 적힌 접시를 1번 접시라고 하면, 3번과 4번 접시의 연결을 끊고 5번과 1번 접시의 연결을 끊어 [1,2,4], \[3,5][1, 2, 4],\ \[3, 5]의 정렬된 2개의 수열을 얻을 수 있다.

원, 탁!을 하는 데 힘들었던 운동 부족 현빈이는 원, 탁!의 횟수를 최소화하여 정렬된 수열을 얻고 싶어 한다. 여기서 정렬된 수열이란 시계방향으로 보았을 때 오름차순으로 정렬된 수열을 말한다. 원탁에 놓인 접시들의 정보가 주어질 때, 현빈이가 최소 몇 번의 원, 탁!을 해야 원하는 수열을 얻을 수 있는지 구하는 프로그램을 작성하라.

입력

첫 번째 줄에 접시의 개수 N(3≤N≤1 000 000)N(3 ≤ N ≤ 1\ 000\ 000)이 주어진다.

두 번째 줄에는 공백으로 구분된 aia_{i}가 주어진다. (1≤i≤N;1≤ai≤1 000 000)(1 \leq i \leq N; 1 ≤ a_{i} ≤ 1\,000\,000)

출력

최소 몇 번의 원, 탁!이 필요한지 출력한다.

힌트

오름차순 수열이란 뒤로 갈수록 숫자가 커지는 수열을 뜻한다.

예제2

  1. 예제 1

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

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