Official
B - 最初のアラート / First Alert Editorial
by
B - 最初のアラート / First Alert Editorial
by
MMNMM
この問題では、\(N\) 個の整数を読み込み、順に大小関係を判定する必要があります。
\(P _ i\gt K\) を満たす \(i\) のうち、(存在するなら)その中で最小のものを求める必要があります。 このような処理は「先頭から \(P _ i\) を確認し、条件を満たしたらその時点で繰り返しを終了する」ような実装を行うとシンプルになることが多いです。
実装例は以下のようになります。
#include <iostream>
using namespace std;
int main(){
int N, K;
cin >> N >> K;
for (int i = 1; i <= N; ++i) {
int A;
cin >> A; // 順に読み込んで
if (A >= K) { // K 以上なら
cout << i << endl; // 出力して
return 0; // 終了
}
}
// 見つからなければ
cout << -1 << endl; // -1 を出力して
return 0; // 終了
}
N, K = map(int, input().split())
A = list(map(int, input().split()))
for i, a in enumerate(A): # A を順に見て
if a >= K: # K 以上なら
print(i + 1) # 答えを出力して
break # ループ終了
else: # 見つからなければ
print(-1) # -1 を出力する
posted:
last update:
