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]