возьми все max_size, схорони, подели размеры контейнера на количество элементов, получишь одинарный размер, если больше, чем какой-то из сохранённых, то вычти каждый таковой из размера контейнера и запиши для них значение которое максимальное, убери из списка созранённых, повторять, пока не кончится список сохранённых, для остальных оставить полученное
Ну у меня кстати решение похожее было