Знезаражувач реп’яховiруса
Обмеження: 2 сек., 256 МiБ
Для ефективної боротьби з реп’яховiрусом вченi придумали спецiальний пристрiй-знезаражувач.Для своєї роботи цей пристрiй використовує спецiальнi ампули iз активною речовиною. Всьогодоступноnампул. Ефективнiсть i-ї з них рiвна Ai умовних одиниць.Для найбiльш ефективної роботи знезаражувача, його необхiдно зарядити рiвноkампулами,при чому їх сумарна ефективнiсть повинна бути непарним числом. Ваше завдання визначити,якими саме ампулами необхiдно зарядити знезаражувач для його найбiльш ефективної роботи,або визначити що це не можливо.Вхiднi данiУ першому рядку задано два натуральних числаnтаk кiлькiсть доступних ампул такiлькiсть ампул котрими необхiдно зарядити знезаражувач. У наступному рядку заданоnнату-ральних чиселai ефективностi ампул.Вихiднi данiУ першому випадку виведiть рядокyesякщо знезаражувач можна зарядити для максималь-ної ефективностi, абоno, якщо цього досягнути не можливо.У випадку ствердної вiдповiдi в наступному рядку виведiтьkчисел через пробiл ефектив-ностi ампул, котрими треба зарядити знезаражувач для його максимальної ефективностi. Якщо iснує декiлька правильних вiдповiдей, дозволено вивести будь-яку з них.
Обмеження1≤k≤n≤105,1≤ai≤109.
Приклади
Вхiднi данi (stdin) 3 2
1 2 3
Вихiднi данi (stdout) yes 2 3
begin
var n:=ReadInteger('Количество элементов в массиве: ');
var a:=ArrRandom(n,-50,50);
a.Println(',');
Writeln('Четные элементы: ');
var i:=1;
while i<n do begin Write(a[i],' '); Inc(i,2) end;
Writeln;
Writeln('Нечетные элементы: ');
i:=0;
while i<n-1 do begin Write(a[i],' '); Inc(i,2) end;
Writeln
end.
Тестовое решение:
Количество элементов в массиве: 10
15,-18,-29,-25,46,21,-8,-17,-9,15
Четные элементы:
-18 -25 21 -17 15
Нечетные элементы:
15 -29 46 -8 -9
var x: array[1..nx, 1..nx] of integer;z:array[1..nx*2] of integer;
i, j, k,n,r,t: integer;
begin
Writeln('Введите размер матрицы n');Read(n);
for i := 1 to n do begin
for j := 1 to n do begin
Read(k);x[i, j] := k; end;end;
Writeln('Исходный массив');
for i := 1 to n do begin
for j := 1 to n do begin
Write(x[i, j]:4);
if x[i, j]>0 then begin t:=t+1; z[t]:=x[i, j];end;
end;
Writeln; end;
Writeln;Writeln('Одномерный массив');
for j := 1 to t do
Write(z[j]:4);
end.