Try to design an efficient divide-and-conquer algorithm.