29.03.2005, 22:29
общий
это ответ
Здравствуйте, andrey!
Вычисляем общий вес. Сортируем, например по возрастанию. Получаем массив P1, ..., Pn. Пусть это будет первая группа. Из неё извлекаем во вторую группу предмет, вес которого наиболее близок к суммарному пополам(но меньше либо равен). Если разница равна нулю - поделили поровну, всё. Если нет, то из первой группы выбираем предмет (если есть, если нет - конец) наиболее близкий по весу к разнице весов первой и второй группы пополам (но меньше либо равно). И т. д., пока разница не станет <= 1 или не найдутся предметы с меньшим, чем необходимо весом.
P. S. Массив лучше отсортировать, чтобы быстрее работало. В итоге, первая группа не легче второй, но разница в весе минимальна.