某小学举办了一场校内的信息学竞赛选拔赛。现在同学们的成绩都出来了,负责信息学竞赛的老师需要确定最终选拔赛的获奖名单。
为了鼓励大家,老师希望获奖人数不少于参赛总人数的一半。因此,老师需要确定一个获奖分数线,所有得分在分数线及以上的同学可以获奖。在满足上面条件的情况下,老师希望获奖分数线越高越好。
请同学们通过程序设计的方法来解决以上问题,确定获奖分数线和总获奖人数。
输入格式
第一行为一个整数 nn 表示参赛总人数。
第二行为 nn 个整数,分别表示 n(1 \le n \le 100000)n(1≤n≤100000) 个参赛同学的分数,所有分数都是在 00~100100 之间的整数(含 00 和 100100),每两个数之间用一个空格隔开。
输出格式
输出为一行,包括两个整数,分别表示分数线和获奖人数(中间用一个空格隔开)。
格式说明
输出时每行末尾的多余空格,不影响答案正确性
样例输入
7
76 71 42 4 27 27 20
样例输出
27 5
#include <iostream>
#include <string>
#include<algorithm>
using namespace std;
int a[1000000],n;
int main() {
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
sort(a,a+n);
cout<<a[n/2]<<" ";
int cnt=0;
for(int i=0;i<n;i++){
if(a[i]>=a[n/2]){
cnt++;
}
}
cout<<cnt<<endl;
return 0;
}