문제
Author: Goran Gašić
Consider the following sorting algorithm: reverse-sort(sequence a) while (a is not in nondecreasing order) partition a into the minimum number of slopes for every slope with length greater than one reverse(slope) A slope is defined as a decreasing consecutive subsequence of a. The reverse procedure will reverse the order of the elements in a slope. You are given a permutation of the first N natural numbers whose slopes all have even length when partitioned for the first time. Determine the total number of times reverse is called to reverse-sort the given permutation.
입력
The first line of input contains the positive integer N (2 ≤ N ≤ 100 000). The second line of input contains a permutation of the first N natural numbers that needs to be sorted.
출력
The only line of output must contain the number of times that reverse is called.
예제 입력 1
2
2 1
예제 출력 1
1
예제 입력 2
4
4 3 2 1
예제 출력 2
1
예제 입력 3
4
3 1 4 2
예제 출력 3
3
코드를 제출하려면 로그인이 필요합니다.
로그인