POJ2388Who's in the Middle

转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1300777154 

水题一道

给定n个数,输出中间值(注意不是求平均)

可以用sort,干脆快捷,但是注意排序起止位置

也可以用quicksort(最好用随机快排,尝试一下srandrand) 勤力的同学可以写一下\(^o^)/~

 

没什么要注意的题,不过真要注意的话,就不要用冒泡、插入、选择排序之类的O(n^2)算法,1W个数铁定超

 

再送一些数据给大家

11

76 67 43 78 02 11 379 478 11 43 21

 

9

3 1 38 222 800 43 45 69 987332

 

3

1000000 100000 90000

 

5

90000 20000 30000 15000 80000

 1 //Memory  Time
2 //292K 47MS
3
4 #include<iostream>
5 #include<iomanip>
6 #include<algorithm>
7 using namespace std;
8
9 int main(void)
10 {
11 int n;
12 while(cin>>n)
13 {
14 int* milk=new int[n+1];
15
16 for(int i=1;i<=n;i++)
17 cin>>milk[i];
18
19 sort(milk+1,milk+n+1);
20
21 cout<<milk[n/2+1]<<endl;
22
23 delete milk;
24 }
25 return 0;
26 }

 

 

原文地址:https://www.cnblogs.com/lyy289065406/p/2122200.html