Un șir format din 2•n
numere naturale se numește paritar dacă fiecare dintre primii săi n
termeni fie are aceeași paritate cu oricare dintre ultimii săi n
termeni, fie este strict mai mic decât oricare număr de paritate diferită aflat printre aceștia.
Cerința
Dându-se un șir de 2•n
numere naturale, să se afișeze mesajul DA
, în cazul în care șirul aflat în fișier este paritar, sau mesajul NU
, în caz contrar. Proiectați un algoritm eficient din punctul de vedere al timpului de executare și al memoriei utilizate.
Date de intrare
Fișierul de intrare paritar.in
conține pe prima linie numărul n
, iar pe a doua linie 2•n
numere naturale separate prin spații reprezentând elementele șirului.
Date de ieșire
Fișierul de ieșire paritar.out
va conține pe prima linie mesajul DA
, dacă șirul este paritar, sau mesajul NU
dacă șirul nu este paritar.
Restricții și precizări
1 ≤ n ≤ 250.000
- numerele de pe a doua linie a fișierului de intrare vor fi mai mici decât
1.000.000
Exemplul 1:
paritar.in
5 20 3 11 4 15 25 49 18 53 16
paritar.out
DA
Exemplul 2:
paritar.in
3 8 16 4 10 10 6
paritar.out
DA
Exemplul 3:
paritar.in
3 8 6 4 10 7 6
paritar.out
NU
Exemplul 4:
paritar.in
3 20 30 5 8 18 6
paritar.out
DA
Explicație
În primele n
numere sunt două numere pare, iar în ultimele n
numere nu există numere impare. Vom presupune deci că 20
și 30
sunt mai mici decât orice număr impar.