这题就是求中位数,直接用qsort排序取中,算法复杂度为O(NlogN)
当然求中位数的最优算法是O(N)的Select算法
Source Code
Problem: 2388 | User: yangliuACMer | |
Memory: 284K | Time: 63MS | |
Language: C++ | Result: Accepted |
#include <iostream>
#include <stdlib.h>
using namespace std;
int comp(const void * a, const void * b){
return (*(int*)a - *(int*)b);
}
int main(){
int m,n[10001],i;
cin>>m;
for(i = 0; i < m; i++){
cin>>n[i];
}
qsort(n, m, sizeof(int), comp);
cout<<n[m/2]<<endl;
return 0;
}