UniLecs #138. Максимальная последовательность по модулю

UniLecs #138. Максимальная последовательность по модулю

UniLecs

Задача: есть массив целых чисел. В нем необходимо определить подмножество с максимальным модулем суммы чисел входящих в него.

Входные данные: arr - массив целых чисел, размер массива от 1 до 10^4. 

Вывод: подмножество чисел исходного массива, ктр образуют множество с максмимальным модулем суммы. Если есть несколько множеств с одинаковым модулем суммы, то выводите любое.

Пример: [-1, 2, -1, 3, -4]

Answer: { -1, -1, -4 }

Идея: самое главное в данной задаче правильно прочитать условие, и понять, что нужно считать модуль суммы, а не сумму модулей. По сути, необходимо разбить исходный массив на 2 подмножества: отрицательные числа и положительные. Дальше определить чья сумма по модулю больше и вывести соот-е множество.

Реализация:

C#

https://gist.github.com/unilecs/25f8e5eb40d528c593767e0aeb7a9c30

Test:

https://dotnetfiddle.net/APrtJx

Report Page