В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
Bogdan8ra4yk
Bogdan8ra4yk
28.08.2022 07:03 •  Информатика

Знезаражувач реп’яхов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

Показать ответ
Ответ:
lera1064
lera1064
25.11.2020 04:40
//PascalABC.NET версия 3.2, сборка 1389
//Если программа не запускается, то обновите версию
uses System.Linq;
begin
    writeln('III');
    var a := ReadArrInteger('Документы', ReadInteger('n=')).ToList;
    writeln;
    
    while a.Any() do
    begin
        write(a[0], ' ');
        a.RemoveAt(0);
        if not a.Any then break;
        
        write(a.Last, ' ');
        a.RemoveAt(a.Count - 1);
        if not a.Any then break;
        
        var n := 0;
        if a.Count > 1 then n := a.Count div 2 - 1;
        write(a[n], ' ');
        a.RemoveAt(n);
    end;
end.
0,0(0 оценок)
Ответ:
vb8515401
vb8515401
27.06.2022 03:04
Var
mas_in, mas_out : array [1..100,1..100] of integer; 
n,m,i,j:integer;
begin 
write('Введите количество строк n='); readln(n); 
write('Введите количество столбцов m='); readln(m); 
for i:=1 to n do   
for j:=1 to m do   
mas_in[i,j]:=random(99);   
//mas_in[i,j]:=i*(j+i);     
writeln('Исходная матрица'); 
for i:=1 to n do   
begin   
for j:=1 to m do     
write(mas_in[i,j]:2,' ');   
writeln;   
end;      
for i:=1 to n do   
begin   
for j:=1 to m do     
mas_out[i,j]:=mas_in[i,m-j+1];   
end;    
writeln('Конечная матрица'); 
for i:=1 to n do   
begin   
for j:=1 to m do     
write(mas_out[i,j]:2,' ');   
writeln;   
end;
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота