Ограничение времени 1 секунда Ограничение памяти 64Mb
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt
Насте попался с виду самый обычный массив целых чисел A длины n. Настя задалась вопросом, сможет ли она сделать сумму элементов массива нечетной, совершив любое количество (возможно, нулевое) следующих действий:
Настя выбирает два индекса i и j (1 ≤ i, j ≤ n) и заменяет A[i] на A[j].
Формат ввода
В первой строке вводится число n - количество элементов в массиве (1 ≤ n ≤ 105).
Во второй строке вводятся n целых чисел - элементы массива (-106 ≤ Ai ≤ 106).
Формат вывода
Выведите YES, если сумму элементов можно сделать нечетной и NO в противном случае.
Пример 1
Ввод Вывод
4
2 2 3 3
YES
Пример 2
Ввод Вывод
4
2 2 2 2
NO
Примечания
В первом примере можно сделать действие A[1] = A[3] и получить массив 3 2 3 3 с нечетной суммой.
Во втором примере получить массив с нечетной суммой невозможно.
В данной задаче 100 тестов, каждый из которых оценивается в выставляются за каждый тест независимо.
1. 0..65534 -> 32767
2. 0..32766 -> 16383
3. 0..16382 -> 8191
4. 0..8190 -> 4095
5. 0..4094 -> 2047
6. 2048..4094 -> 3071
7. 2048..3070 -> 2559
8. 2560..3070 -> 2815
9. 2816..3070 -> 2943
10. 2944..3070 -> 3007
11. 2944..3006 -> 2975
12. 2976..3006 -> 2991
13. 2992..3006 -> 2999
14. 3000..3006 -> 3003
15. 3000..3002 -> 3001
Если лень перебирать вручную, можно воспользоваться программой
var k,l,r,x,f:integer;
begin
f := 3001;
l := 0;
r := 65534;
x := (l + r) div 2;
k := 1;
while (x <> f) and (l < r) do
begin
writeln(k,' ',l,' ',r,' ',x);
k := k + 1;
if f < x then r := x - 1
else l := x + 1;
x := (l + r) div 2
end;
writeln(k,' ',l,' ',r,' ',x);
end.
Вот пример программы на паскале ABC:
var a:array [1..1000000] of integer;
b:array [1..10] of longint;
c:integer;
i,max,n:longint;
begin
write('Введите число элементов массива: ');
readln(n);
max:=0;
for i:=1 to 10 do
b[i]:=0;
for i:=1 to n do begin
a[i]:=random(10)+1;
write(a[i],' ');
b[a[i]]:=b[a[i]]+1
end;
for i:=1 to 10 do if b[i]>max then
begin
c:=i;
max:=b[i]
end;
writeln;
writeln('Чаще всего в массиве встречается число ',c)
end.