けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

AtCoder ABC 353 A - Buildings (7Q, 灰色, 100 点)

break を忘れずに!

問題概要

数列  H_{1}, H_{2}, \dots, H_{N} が与えられる。

 H_{i} \gt H_{1}

を満たす最小の  i を求めよ (存在しなければ -1 を出力せよ)。

解法

for 文を用いて、調べていこう。

条件を満たすような最小の  i を求めたいので、for 文での探索中に見つかったら、その瞬間に break しよう。

コード

#include <bits/stdc++.h>
using namespace std;

int main() {
    int N;
    cin >> N;
    vector<int> H(N);
    for (int i = 0; i < N; ++i) cin >> H[i];
    
    int res = -1;
    for (int i = 1; i < N; ++i) {
        if (H[i] > H[0]) {
            res = i+1;
            break;
        }
    }
    cout << res << endl;
}