🍣
Kickstart 2020 Round D: Record Breaker
問題
N個の要素からなる配列が与えられる。i番目の要素
- 当日の来場者数が、前日までのどの日の来場者よりも多い
- 最終日か、当日の来場者が、翌日の来場者よりも多い
アルゴリズム
現在注目している要素が最終日ではない場合、翌日の来場者との比較は
T = int(input())
for t in range(1, T + 1):
N = int(input())
visitors = list(map(int, input().split(' ')))
prev_record = 0
res = 0
for i in range(N):
greater_than_prev = i == 0 or visitors[i] > prev_record
greater_than_next = i == N - 1 or visitors[i] > visitors[i + 1]
res = res + 1 if greater_than_prev and greater_than_next else res
prev_record = max(prev_record, visitors[i])
print('Case #{}: {}'.format(t, res))
Discussion