У меня большой массив длины N, скажем что-то вроде:
2 4 6 7 6 3 3 3 4 3 4 4 4 3 3 1
Мне нужно разбить этот массив на P-подмассивы (в этом примере будет P=4
), так что сумма элементов в каждом подмассиве максимально приближена к сигме:
sigma=(sum of all elements in original array)/P
В этом примере sigma=15
.
Для ясности один возможный результат:
2 4 6 7 6 3 3 3 4 3 4 4 4 3 3 1
(sums: 12,19,14,15)
Я написал очень наивный алгоритм, основанный на том, как я буду делать дивизии вручную, но я не знаю, как наложить условие, что деление, суммы которого (14,14,14,14,19) хуже, чем тот, который равен (15,14,16,14,16).
Спасибо заранее.