HEU 百题解1001 谁是中间的那个

谁是中间的那个

TimeLimit: 1 Second   MemoryLimit: 64 Megabyte

Totalsubmit: 1292   Accepted: 198  

Description

一天,农夫乔伊像往常一样来到了他的牧场,他突然对他的奶牛产奶量产生了兴趣。
他想知道产奶量处于中间的那头奶牛的产奶量是多少,处于中间的意思是说,其中有一半牛的产奶量比它多,另一半牛的产奶量比它少。
这个问题现在交由你来写程序完成!

Input

仅包括一组测试数据,第一行一个正整数N(1<=N<=10,000),接下来N行,每行一个正整数不会超过10^6,第i+1行的数字代表第i头牛的产奶量。

Output

产奶量处于中间的牛的产奶量。

Sample Input

5
1
2
4
5
3

Sample Output

3

将所给的数据从小到大排序,然后输出中间的数即可

不知道为什么,数据在数组中一定要存在cow[1]~cow[n]之间,如果存在cow[0]~cow[n-1]之间就会Wrong Answer....

 

 1 #include<iostream>
 2 #include<algorithm>
 3 #include<cstdio>
 4 #include<cstdlib>
 5 
 6 using namespace std;
 7 
 8 long cow[10001];
 9 
10 int main()
11 {
12     int n;
13 
14     while(scanf("%d",&n)!=EOF)
15     {
16         for(int i=1;i<=n;i++)
17             scanf("%ld",&cow[i]);
18         sort(cow+1,cow+1+n);
19         printf("%ld
",cow[(n+1)/2]);
20     }
21 
22     return 0;
23 }
[C++]
原文地址:https://www.cnblogs.com/lzj-0218/p/3211971.html