То есть фактически надо разложить эти шары как можно более равномерно. По весу-числу, разумеется. Решение — не меньше трети суммы чисел. Вот и набираем в первый мешок не меньше трети, используя самое большое число, потом раскидываем остаток по двум, а дальше динамика.
Это задача распределения камней по трём грузовикам.
Как делал я: Сумму всех чисел делил на три. И собирал из шаров число максимально близкое к этому(В большую сторону само собой). Потом пытался положить оставшиеся шары в другие мешки, так что их сумма была меньше. Если это не получается пытался собрать это же число в первом мешке по другому. Если не получалось пытаемся собрать большее число. И так далее.
Но мне почему-то кажется, что это жутко не оптимально. Должно быть более простое решение.
Про задачу с грузовиками, спасибо. Сейчас поищу.