![231ed2727aaf359059600acfd828233a.png](https://i-blog.csdnimg.cn/blog_migrate/10d4c77228d29b0cffb4c1870bc101db.jpeg)
题目
时间限制: 1 Sec 内存限制: 128 MB
题目描述
在模拟考试结束后不久,所有考生的分数已经汇总完成,老师们开始估计某所大学的录取分数线。分数线的划定是一个复杂的过程,但是可以根据以往录取人数进行估计。
老师们的估计方法如下,先得到某所大学以往的录取人数,k人。那么总分在前k名的同学都可以进入这所大学,第k名同学的分数就被作为分数线。但是考试中往往有分数相同的人,若分数线上的人有多名,那么这些同学将同时被录取,录取人数可能超过k人。
现在校长想要知道某所学校的分数线,以及实际可以录取的人数。
![671ed3b78a620cce0d43c3227da76e7d.png](https://i-blog.csdnimg.cn/blog_migrate/cebce7aba67a34196991d6450114beb2.jpeg)
录取分数线
输入
第一行两个整数n和k,分别表示参加考试的人数和以往录取人数k。
接下来n行,每行1个整数,表示每位同学的总分。
输出
一行,两个整数,第一个是录取分数线,第二个表示实际录取的人数。两个数之间用一个空格分开。
样例输入
6 3
721
612
603
658
598
612
样例输出
612 4
提示
【说明】
前3名分别为721,658,612,分数线划定为612,而612共有2人,那么一共可以录取4人
【数据范围】
对于50%的数据:1<=k<=n<=1000,每个人分数x的范围0<=x<=1000.
对于100%的数据:1<=k<=n<=100000。每个人分数x的范围0<=x<=100000000
![8d710ac99361f230253a2e59a4f10488.png](https://i-blog.csdnimg.cn/blog_migrate/96d0685d303cfd7435bfe5f3b124b490.jpeg)
答案在下方
答案:
#includeusing namespace std;bool cmp(long long x,long long y){ return x>y;}int main(){ long long n,k,a[100000]; cin>>n>>k; for(long long i=1;i<=n;i++) { cin>>a[i]; } sort(a+1,a+n+1,cmp); long long s=a[k],sum=0; for(long long i=1;a[i]>=s;i++) sum++; cout<