//PascalABC.NET var b : array of integer; m : integer; begin // Ввод данных var n := ReadInteger('Введите число N всех чисел массива: '); var k := ReadInteger('Введите число К "красивых" чисел: '); writeln('Введите все числа в массиве'); var a := ReadArrInteger(n); // Резервируем место для слагаемых b := new integer[k]; // Просмотрим все данные числа foreach var i in a do // Выберем только кратные трем if i mod 3 = 0 then begin // Если есть свободное место, поместим туда m := b.FindIndex(x -> x=0); if m <> -1 then b[m] := i else // Если свободного места нет, найдем наибольший элемент // и заменим его begin m := b.FindIndex(x -> (x>i) and (x=b.Max)); if m <> -1 then b[m] := i; end; end; // Выведем сумму write('Сумма элементов - ', b.Sum) end.