Source Code
Problem: 2388 | User: fan1913068672 | |
Memory: 292K | Time: 16MS | |
Language: C++ | Result: Accepted |
- Source Code
#include"iostream" #include"cstdlib" #include"cstdio" using namespace std; const int MAXN = 10000+10; int arr[MAXN]; int n; void swap(int i,int j){ int t = arr[i];arr[i] = arr[j];arr[j] = t; } int Partition(int left,int right){ int base = arr[left]; while(left<right){ while(arr[right]>=base&&right>left) right--; arr[left]=arr[right]; while(arr[left]<=base&&right>left) left++; arr[right]=arr[left]; } arr[left]=base; return left; } void quick_sort(int left,int right){ if(left<right){ int parti = Partition(left,right); quick_sort(left,parti-1); quick_sort(parti+1,right); } } int main(){ while(cin>>n){ for(int i=0;i<n;i++) scanf("%d",&arr[i]); //for(int i=0;i<n;i++) cout<<arr[i]<<" ";cout<<endl; quick_sort(0,n-1); cout<<arr[(0+n-1)/2]<<endl; } }