AtCoder Regular Contest 017 B – 解像度が低い。 をPython3で解く

Share

AtCoder上にある問題のうち、AtCoder Problemsでdiff 800以上と判定されているものを順番に解いていく企画。
基本的な考え方は全てコード中のコメントに入れてあるので、参照のこと。

出典:
AtCoder Regular Contest 017 B – 解像度が低い。

古いせいか、妙にストーリー性のある問題。難しくはない。

# AtCoder Regular Contest 017 B - 解像度が低い。
# https://atcoder.jp/contests/arc017/tasks/arc017_2
# tag: 数列 単調増加 連続部分列

# わかりやすさと書きやすさ重視で……
def main():
    N, K = map(int, input().split())
    A = [int(input()) for _ in range(N)]

    # 初項を1として、連続単調増加回数をカウントする
    seq = [1]
    for i in range(1, N):
        if A[i] > A[i-1]:
            seq.append(seq[-1] + 1)
        else:
            seq.append(1)

    # 連続増加回数 >= K となっている数が答え
    print(sum(s >= K for s in seq))

main()
Share

コメントを残す

メールアドレスが公開されることはありません。