Official

B - 最長の登り坂 / Longest Uphill Editorial by sounansya


今上り坂がどれだけ続いているか・今まで最も長く続いた上り坂の長さがどれくらいか を表す変数をそれぞれ持ち、\(i=1,2,\ldots,N-1\) の順にシミュレーションすれば良いです。

実装例(Python3)

import sys

input = sys.stdin.readline
n = int(input())
a = [int(input()) for i in range(n)]
now = ans = 0
for i in range(n - 1):
    if a[i] <= a[i + 1]:
        now += 1
        ans = max(ans, now)
    else:
        now = 0
print(ans + 1)

posted:
last update: