king 选 太子

king 选 太子

king 选 太子

时间限制:3000 ms  |  内存限制:65535 KB
难度:1
描述

啊,从前有一个国家。此国兵强马壮,但是国王却身体不好。于是就想挑一位太子出来;

但是问题来了,国王不知道他有几个孩子(这国王糊涂吧!),他只知道他的孩子的年龄都是不同的。同时这个国王也有要求,他认为孩子年龄太大的过于迂腐,而年龄太小又不成熟,(这孩子挑的也太难了吧),他就想要年龄在他们孩子之间是最中间的(如果孩子的个数为偶数,那么选中间的两个皇子中年龄较大的那个)。

输入
第一行有一个整数T,代表有T组数据(T<=10)
第二行有一个整数n(0<n<=15),紧随着有n个数代表有n个皇子(年龄都是整数)
输出
每行输出这串数字的太子的年龄
样例输入
[/cpp]2
3
1 2 3
4
1 2 3 4
样例输出
[/cpp]2
3

校赛选拔:
[cpp]

#include <iostream>
#include <algorithm>
#include <math.h>
using namespace std;
int main()
{
int i,j,sum,n,*p;cin>>i;
double t,x,y;
while(i–)
{
cin>>n;sum=0;
p=new int[n];
for(j=0;j<n;j++)
{
cin>>p[j];
sum+=p[j];
}
sort(p,p+n);
t=(double(sum)/n);
if(n%2!=0) cout<<p[n/2]<<endl;
else{
x=t-p[n/2-1];
y=p[n/2]-t;
if(x>y) cout<<p[n/2]<<endl;
else if(x<y) cout<<p[n/2-1]<<endl;
else cout<<p[n/2]<<endl;
}
delete[] p;
}
return 0;
}

[/cpp]