El problema parece sencillo pero me lleva de cabeza desde hace un buen rato. Os explico:
Tengo un div contenedor (A) con dos divs internos (B y C), dispuestos de la siguente manera:

Los divs B y C están configurados con float:left y float:right respectivamente.
El div C es un formulario que crece dinámicamente. Así pues, se puede dar el caso siguiente: El div C excede el height del contenedor y se "sale":

Estoy intentando de todas formas que, cuando se dé este caso, el div A de adapte al tamaño "extra" de C, de forma que se agrande y quede así:

Véis alguna solución posible?
Muchas gracias! :)