Official

A - Buildings Editorial by nok0


初心者の方へ
  • プログラミングの学習を始めたばかりで何から手をつけるべきかわからない方は、まずは practice contest の問題A「Welcome to AtCoder」をお試しください。言語ごとに解答例が掲載されています。
  • また、プログラミングコンテストの問題に慣れていない方は、 AtCoder Beginners Selection の問題をいくつか試すことをおすすめします。
  • C++入門 AtCoder Programming Guide for beginners (APG4b) は、競技プログラミングのための C++ 入門用コンテンツです。

for 文を用いて、\(i=2,3,\ldots,N\) の順に \(H_i > H_1\) かを確認しましょう。

そのような \(i\) が見つかれば、その時点でその \(i\) を出力してコードを終了すればよいです。見つからない場合は \(-1\) を出力します。

多くのプログラミング言語では 0-indexed が用いられていることに注意してください。

実装例 (C++):

#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];
  for(int i = 1; i < n; i++) {
    if(h[i] > h[0]) {
      cout << i + 1 << endl;
      return 0;
    }
  }
  cout << -1 << endl;
}

実装例(Python):

n = int(input())
h = list(map(int, input().split()))
for i in range(1, n):
  if h[i] > h[0]:
    print(i + 1)
    exit()
print(-1)

posted:
last update: