#include #include void quick_sort(int *array, int l, int r); void change(int &p, int &k); int main(void) { int n, i, *str; scanf("%d", &n); str = (int *)malloc(sizeof(int)*n); for (i = 0; i < n; i++) { scanf("%d", &str[i]); } quick_sort(str, 0, n-1); i = n/2; if (n%2 == 0) { printf("%g\n", (float)(str[i]+str[i-1])/2); } else { printf("%d\n", str[i]); } return 0; } void quick_sort(int *array, int left, int right) { if (left >= right) return; int p = left, k = left+1; while (k <= right) { if (array[left] > array[k]) { change(array[p+1], array[k]); p++; } k++; } change(array[left], array[p]); quick_sort(array, left, p-1); quick_sort(array, p+1, right); } void change(int &p, int &k){ int temp = p; p = k; k = temp; }