Brooks-Iyengar algorithm