求调
查看原帖
求调
946318
guoxiaotong1234楼主2023/8/23 20:24
#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,m;
int ms;
int r;//入选人数 
struct fun{
	int k;//报名号 
	int s;//考试成绩 
}a[5010];
int cmp(fun n,fun m){
	if(n.s==m.s){
		//如果成绩一样,就判断编号大小
		//小者在前,大者在后 
		return n.k>m.k;
	}
	//从大到小排序 
	return n.s>m.s;
} 
signed main(){
	ios::sync_with_stdio(false);
	cin>>n>>m;
	ms=floor(m*1.50);//向下取整 
	for(int i=1;i<=n;++i){
		cin>>a[i].k>>a[i].s;
	}
	sort(a+1,a+n+1,cmp);//排序 
	cout<<a[ms].s<<" ";//先输出面试分数线 
	r=ms;
	while(a[r].s==a[r+1].s&&r<=n){
		//从被定为分数线的那个人开始
		//往下搜索是否还有与分数线并列的人 
		r++;
	}
	cout<<r<<endl;//输出被录取人数 
	for(int i=1;i<=r;++i){
		//在输出被录取人的编号和成绩 
		cout<<a[i].k<<" "<<a[i].s<<endl;
	}
	return 0;
}

求调QAQ

2023/8/23 20:24
加载中...