分数线确定

2023-12-31 10:38:15

?

题目描述

在模拟考试结束后不久,所有考生的分数已经汇总完成,老师们开始估计某所大学的录取分数线。分数线的划定是一个复杂的过程,但是可以根据以往录取人数进行估计。
老师们的估计方法如下,先得到某所大学以往的录取人数,k人。那么总分在前k名的同学都可以进入这所大学,第k名同学的分数就被作为分数线。但是考试中往往有分数相同的人,若分数线上的人有多名,那么这些同学将同时被录取,录取人数可能超过k人。
现在校长想要知道某所学校的分数线,以及实际可以录取的人数。

输入

第一行两个整数n和k,分别表示参加考试的人数和以往录取人数k。
接下来n行,每行1个整数,表示每位同学的总分。

输出

包含一行,两个整数,第一个是录取分数线,第二个表示实际录取的人数。两个数之间用一个空格分开。

样例输入?Copy
6 3
721
612
603
658
598
612
样例输出?Copy
612 4

代码实现:

#include <bits/stdc++.h>
using namespace std;
int main()
{
?? ?int cnt=0;
?? ?int n,m,a[100000],b,c,d;
?? ?int i;
?? ?cin>>n>>m;
?? ?for(i=1;i<=n;i++)
?? ?{
?? ??? ?cin>>a[i];
?? ?}
?? ?sort(a+1,a+n+1,greater<int>());
?? ?d=a[n-m];
?? ?for(i=n;i>0;i--)
?? ?{
?? ??? ?if(a[i]==d)
?? ??? ?cnt++;
?? ??? ?
?? ?}
?? ?cout<<a[n-m]<<" "<<cnt+m-1;
?? ?return 0;
?}?

文章来源:https://blog.csdn.net/2301_81591020/article/details/135209057
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。