# 前回の手法で可能ではあるが思いつき不可能なので公式解説の方法に変える # N項間に不等号を書く、N-1個 # その不等号が<>のときは、><に変わる、それが何回可能か # スタックで実装してみよう N = int(input()) A = list(map(int, input().split())) signs = [] for i in range(1, N): if A[i-1] < A[i]: signs.append('<') else: signs.append('>') # equalは制約でない from collections import deque que1 = deque() que2 = deque(signs) count = 0 while que2: new = que2.popleft() if len(que1) == 0: que1.append(new) else: if que1[-1] == '<' and new == '>': que1.pop() que2.appendleft('<') que2.appendleft('>') count += 1 else: que1.append(new) #print(que1, que2, count) print(count)