AtCoder Grand Contest 010: A - Addition

,

http://agc010.contest.atcoder.jp/tasks/agc010_a

solution

偶奇 + コーナーケース。主に入力に$O(N)$。

数$A_i$はそれぞれ偶奇のみ見ればよい。 偶数はいくつあっても単一の偶数に潰せ、奇数はふたつで偶数ひとつになる。 よって奇数が奇数個ある場合がNO。ただし単一の奇数のみで偶数もない場合はYES

solution

#!/usr/bin/env python3
_ = int(input())
even = 0
odd = 0
for a in map(int, input().split()):
    if a % 2 == 0:
        even += 1
    else:
        odd += 1
ans = odd % 2 == 0 or (even == 0 and odd == 1)
print(['NO', 'YES'][ans])