题目分析:

若三个数的和为奇数那么有且只有两种可能:(下文用1代表奇数,用0代表偶数)

1+1+1

0+0+1

因此,我们只需要记录输入的奇数和偶数的个数,并做判断,只要满足其中一种条件即可输出YES

反之则NO

代码

#include "bits/stdc++.h"

using namespace std;
#define int long long
#define endl "\n"
#define PII pair<int,int>
#define PIII pair<int,PII>
const int MOD = 1e9 + 7;
const int N = 3e5;

bool cmp(PII p1, PII p2) {
    return p1.first + p1.second < p2.first + p2.second;
}

bool isP(char t1, char t2) {
    int c1 = t1 - '0';
    int c2 = t2 - '0';
    if ((c1 + c2) & 1)return false;
    return true;
}

void slu() {
    int n;
    cin >> n;
    int ji = 0, ou = 0;
    for (int i = 0; i < n; i++) {
        int t;
        cin >> t;
        if (t & 1)ji++;
        else ou++;
    }
    if (ji >= 3 ||(ou >= 2 && ji >= 1))cout << "YES\n";
    else cout << "NO\n";
}

signed main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int T;
//    cin >> T;
    T = 1;
    while (T--)slu();

}