allora, potresti fare:
- scegli l'elemento centrale della tua partizione corrente
se arr[mid-1] > arr[mid] hai finito, altrimenti
- se arr[last] < arr[mid] la tua nuova partizione sarà first = mid+1 e last = last
- altrimenti first = first, last = mid -1
Domanda: funziona?