Official
A - 連続晴天の最長記録 / Longest Streak of Hot Days Editorial
by
A - 連続晴天の最長記録 / Longest Streak of Hot Days Editorial
by
MMNMM
初心者の方へ
- AtCoder をはじめたばかりで何をしたらよいか分からない方は、まずは practice contest の問題A「Welcome to AtCoder」を解いてみてください。基本的な入出力の方法が載っています。
- また、プログラミングコンテストの問題に慣れていない方は、AtCoder Beginners Selection の問題をいくつか解いてみることをおすすめします。
- C++入門 AtCoder Programming Guide for beginners (APG4b) は、競技プログラミングのための C++ 入門用コンテンツです。
- Python入門 AtCoder Programming Guide for beginners (APG4bPython) は、競技プログラミングのための Python 入門用コンテンツです。
for 文で気温を順に見ながら、「現在暑い日が何日連続しているか」を管理することなどでこの問題を解くことができます。
実装例は以下のようになります。
#include <iostream>
using namespace std;
int main() {
int N, K;
cin >> N >> K;
int ans = 0; // 答え
int now = 0; // 現在暑い日が何日連続しているか
for (int i = 0; i < N; ++i) {
int A;
cin >> A;
if (A < K) { // 暑い日でなければ
now = 0; // 連続日数を 0 に
} else { // 暑い日なら
++now; // 連続日数を増やす
}
ans = max(ans, now); // 答えを更新
}
cout << ans << endl;
return 0;
}
N, K = map(int, input().split())
ans = 0 # 答え
now = 0 # 現在暑い日が何日連続しているか
for A in map(int, input().split()):
if A < K: # 暑い日でなければ
now = 0 # 連続日数を 0 に
else: # 暑い日なら
now += 1 # 連続日数を増やす
ans = max(ans, now) # 答えを更新
print(ans)
posted:
last update:
