[POJ] [INDEX] [2388] [Who's in the Middle]
[Time: 1000MS] [Memory: 65536K] [难度: 初级] [分类: 排序]
给定n个数,输出中间值(注意不是求平均)。
可以用 sort
,干脆快捷,但是注意排序起止位置。
也可以用 quicksort
,(最好用随机快排,尝试一下 srand
和 rand
) 。
没什么要注意的水题,不过真要注意的话,就不要用冒泡、插入、选择排序之类的O(n^2)算法,1W个数铁定超时。
//Memory Time
//292K 47MS
#include<iostream>
#include<iomanip>
#include<algorithm>
using namespace std;
int main(void)
{
int n;
while(cin>>n)
{
int* milk=new int[n+1];
for(int i=1;i<=n;i++)
cin>>milk[i];
sort(milk+1,milk+n+1);
cout<<milk[n/2+1]<<endl;
delete milk;
}
return 0;
}
- Site: http://exp-blog.com
- Mail: 289065406@qq.com