Назовём нормализированым парник, в котором нет "пустых" границ, т.е. на верхней, нижней, правой и левой границах есть, как минимум, по одному огурцу.
Начнём с одной теплицы, охватывающей всё поле. Нормализируем её, считаем стоимость.
Рассматриваем все варианты разбиения одной прямой (проходимся по всем внутренним вертикалям, затем горизонталям). Для каждого разбиения нормализируем получившиеся теплицы, подсчитываем стоимость. Затем берём разбиение с наименьшей стоимостью. Если эта стоимость больше или равна оригинальной, оставляем оригинальную теплицу, КОНЕЦ. Иначе используем две новых теплицы и для каждой из них рекурсивно запускаем этот алгоритм.
EDIT: Не работает для всех видов полей. Контрпример в комментариях.