Нужен алгоритм для разделения ряда чисел

После нескольких напряженных ночей моя голова работает не так хорошо, но это нужно исправить вчера, поэтому я прошу более обновленное сообщество SO.

У меня есть ряд чисел. Например:

1, 5, 7, 13, 3, 3, 4, 1, 8, 6, 6, 6

Мне нужно разделить этот ряд на три части, чтобы сумма чисел во всех частях как можно ближе. Порядок чисел необходимо поддерживать, поэтому первая часть должна состоять из первых X чисел, вторая - из следующих Y чисел, а третья - из того, что осталось.

Каков будет алгоритм для этого?

(Примечание: реальная проблема состоит в том, чтобы расположить текстовые абзацы разной высоты в три столбца. Абзацы должны сохранять порядок (конечно), и они не могут быть разделены пополам. Столбцы должны быть по возможности одинаковой высоты.)

11
задан Vilx- 13 October 2011 в 08:40
поделиться