divide and conquer algorithm in design and analysis of algorithm