Дано масив А, який містить елементи від 0 до 10^6. «Стисніть» його, пересунувши нульові елементи в кінець масиву. Якщо даний масив "Стиснути" не можливо, тобто немає нулів, то виведіть "not found". Вхідні дані: У першому рядку знаходиться одне числа N - кількість елементів масиву. Далі йдуть N чисел — елементи масиву, розділених пробілами.
Вихідні дані: "Стиснутий" масив або "not found" якщо це зробити не можливо.
2) Сумма первой и второй цифр должна быть наименьшей (тогда и число будет меньше!), она равна 11; тогда сумма значений двух последних цифр равна 13
3) Для того, чтобы всё число было минимально, числа, составленные из первых двух и последних двух цифр должны быть минимальными соответственно для сумм 11 и 13
4) Минимальное двузначное число, у которого сумма значений цифр равна 11, - это 29, с этих двух цифр начинается исходное четырёхзначное число
5) Сумма двух последних цифр – 13, минимальное двузначное число с такой суммой цифр – 49.
ответ: 2949
// Внимание! В других версиях языка работа не гарантируется!
begin
var m:=ReadInteger('Количество строк в массиве:');
var n:=ReadInteger('Количество столбцов в массиве:');
Writeln('*** Исходный массив A[',m,',',n,'] ***');
var a:=MatrRandom(m,n,-50,50);
a.Println(4);
Writeln(4*a.ColCount*'-');
var k:=a.Rows.Select(x->x.Aggregate(0,(x,y)->x+y)).ToArray.IndexMax;
for var j:=0 to (n-1) div 2 do Swap(a[k,j],a[k,n-1-j]);
a.Println(4)
end.
Пример
Количество строк в массиве: 4
Количество столбцов в массиве: 5
*** Исходный массив A[4,5] ***
29 36 -50 -4 -32
-1 -10 -7 -47 -50
-16 4 48 -41 -43
8 46 45 14 -44
29 36 -50 -4 -32
-1 -10 -7 -47 -50
-16 4 48 -41 -43
-44 14 45 46 8