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

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

AtCoder ABC 324 A - Same (灰色, 100 点)

これも条件をうまく言い換えることが大切になる問題

問題概要

 N 個の整数  A_{1}, A_{2}, \dots, A_{N} が与えられる。

これらの値がすべて等しいかどうかを判定せよ。

コード

すごく色んな解法がある!!!!

個人的に最も楽だと思うのは、

  •  i = 2, 3, \dots, N に対して、 A_{i} = A_{1} ならば Yes
  • そうでなければ No

とする方法だ。なお、ここでは配列を 0 始まりで実装することにする。

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

int main() {
    int N;
    cin >> N;
    vector<int> A(N);
    for (int i = 0; i < N; ++i) cin >> A[i];
    
    bool res = true;
    for (int i = 1; i < N; ++i) if (A[i] != A[0]) res = false;
    
    if (res) cout << "Yes" << endl;
    else cout << "No" << endl;
}