Доброго времени суток всем!
Имеется следующая задача.
Имеется конечное множество элементов

.
Вопрос: Нужно разбить данное множество на 3 подмножества с условием чтобы сумма элементов в этих подмножествах была

или переводя на русский надо распределить элементы между тремя множествами так чтобы сумма элементов во всех трех множествах была приблизительно равна.
Мне пока кроме "железобетонного" перебора ничего в голову не приходит. Алгоритм может быть примерно следующим:
1. Упорядочиваем элементы множества

от наименьшего к наибольшему.
2. В каждое из 3 множеств кладем самые наибольшие элементы множества

.
3. Берем 4-ый с конца элемент и смотрим по очереди каждое из подможеств чтобы сумма имеющегося и добавляемого элемента не превосходила

. Если не превосходит кладем элемент в это множество если превосходит, то берем следующее подмножество и так далее.
4. Так продолжаем пока сумма во всех подмножествах не приблизиться к желаемой

.
5. Ну а остатки (если таковые имеются) раскидываем приблизительно одинаково по всем множествам.
Пример: 
, следовательно

1. После упорядочивания получаем:

.
2. Теперь кладем наибольшие элементы в подмножества

.
3. Далее берем

. Явно он не подходит для множества

а вот для множества

в самый раз ... значит определяем его туда. Так и с остальными элементами ... получаем что

.
4. Теперь остатки. По существу уже не важно в какое множество пойдут оставшиеся две 1 но пусть в первое и второе множества.
Итак получили, что

и соответственно

,

,

.
Вот такой вариант у меня имеется ... может кто нибудь подскажет что-нибудь умнее изложенного выше ... ну или хотя бы более эффективное.