AtCoder ABC 124 B – Great Ocean View Python解説

2021年12月25日

スポンサーリンク

Great Ocean View

各山頂には旅館があり、あなたは海を眺められる旅館を選ぶことにしました。

西から i 番目の山の高さは H_i​ です。
西から 1 番目の山頂にある旅館からは必ず海を眺めることができます。

西から i 番目の山頂にある旅館については、Hi−1​≤Hi のとき、その旅館から海を眺めることができます。

これら N 個の旅館のうち、海を眺められる旅館はいくつあるでしょうか。

AtCoder Beginner Contest 「Great Ocean View」

山の高さが入力から与えられるので、山の高さがそれまでの最大値以上だったら、海を眺められる旅館をカウントアップしていけばよいでしょう。

n = int(input())
h = list(map(int, input().split()))

max_h = 0
cnt = 0

for i in range(n):
    if h[i] >= max_h:
        cnt += 1
        max_h = h[i]
        
print(cnt)

max_hが山の高さの最大値を入れる変数です。初期値は0にしています。
for文で山の高さをひとつずつ見ていき、それまでの山の高さの最大値を超えたら旅館の数をカウントアップ、そして、山の高さの最大値を更新します。

AtCoderB問題

Posted by cheese