void qsort(int* arr, int n) {
if (--n <= 0) return;
int* i = arr, *j = arr + n - 1;
while ([&]()->bool { while (*i < arr[n]) i++;
while (*j > arr[n]) j--; return i <= j; }()) swap(i++, j--);
swap(i, arr + n);
if (arr < j) qsort(arr, j - arr + 1);
if (i < arr + n) qsort(i, arr + n - i + 1);
}
굿굿