AGC 013 A - Sorted Arrays
競プロ熱が高まってきたので、qiitaの記事のやつ進めることにした。 数列の切り出しができなかったのよね
def main(): n = int(input()) a = [int(i) for i in input().split()] ans = 0 i = 0 while i < n: # 右隣が同じにならないようにする while i+1 < n and a[i] == a[i+1]: i+=1 # i は n-1 で抜けてくるので、下には引っかからない # 右隣の数の方が大きかったら if i+1 < n and a[i] < a[i+1]: # 右隣の方が小さくなるまで、次に進める while i+1 < n and a[i] <= a[i+1]: i += 1 # 右隣の数の方が小さかったら elif i+1 < n and a[i] > a[i+1]: # 右隣の数が大きくなるまで、次に進める while i+1 < n and a[i] >= a[i+1]: i += 1 # a[i]まで切り取る ans += 1 # i をインクリメントして、新しい配列の先頭とする i += 1 print(ans) if __name__ == '__main__': main()