Official

B - Failing Grade Editorial by Nyaan


ある人が不可になったかどうかは、 比較演算子 >,< などを用いて \(a_i\)\(P\) の大小を調べれば \(\mathrm{O}(1)\) で判定することができます。

よって、答えを記録するための変数 \(\mathrm{ans}\) を用意して \(0\) で初期化したあと、\(A\) の全ての要素を走査して、\(a_i \lt P\) である場合に \(\mathrm{ans}\)\(1\) を加算すれば、この問題を \(\mathrm{O}(N)\) の計算量で解くことができます。

C++, Python による実装例は次の通りです。

  • C++
#include <iostream>
using namespace std;

int main() {
  int N, P, ans = 0;
  cin >> N >> P;
  for (int i = 0, a; i < N; i++) {
    cin >> a;
    if (a < P) ans++;
  }
  cout << ans << "\n";
}
  • Python
N, P = map(int, input().split())
print(sum(x < P for x in map(int, input().split())))

posted:
last update: