• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Задача О Равномерном Распределении Чисел

  • Автор темы Brenli
  • Дата начала
B

Brenli

Имеется массив А из N элементов ,где (1<=N<=10^6) (1<=A<=10^3)
Задача:
Разделить массив А на 2 массива B и С таким образом чтобы разница сумм элементов этих массивов была минимальна.

Пример:
Массив А
1,4,5,6,7,9
------------------------------------
Массив В
9,1,6
Массив С
5,4,7

Спасибо
 
V

vnmukh

все проще чем кажется:

  1. Разделяешь исходный массив на две части.
  2. Вычисляешь разность сумм двух полученных массивов.
  3. Меняшь поочередно каждый элемент первого массива с каждым элементом второго массива.
  4. Опять проверяешь разность сумм, если разность увеличивается - меняешь обратно, если уменьшается двигаешься дальше, если разность равна нулю - заканчиваешь цикл, получилась лучшая разность.
  5. Выводишь полученные массивы.

Могу скинуть код, надумаешь - стучи в скайп: vnmukh
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!