void quick_sort(int a[], int l, int r) { int i = l, j = r; if (i >= j) return; int x = a[l + r >> 1]; while (i < j) { while (a[i] < x) i++; while (a[j] > x) j--; if (i < j) swap(a[i], a[j]); } quick_sort(a, l, j); quick_sort(a, j + 1, r); }