蒟蒻10分卡死求助!!!!!!!!
查看原帖
蒟蒻10分卡死求助!!!!!!!!
1012616
shidifu楼主2023/8/18 19:45
#include<bits/stdc++.h>
using namespace std;
struct node{
	int num,score;//考生属性 num是考号 score是分数 
};
bool cmp(node a,node b){//要排序 
	if(a.score==b.score){
		return a.num>b.num;//分数相同考号大的向前排 
	}
	return a.score>b.score;//分数大排名靠前 
}
int main(){
	/*
	//自动TLE机 
	int n=1;
    while(1){
        n--;
        n++;
    }
	*/
	int n,m;//考试人数n 计划录取人数m 
	cin>>n>>m;//输入 
	node a[n+100];//放考生的数组 
	for(int i=0;i<n;i++){
		cin>>a[i].num>>a[i].score;//输入 
	}
	sort(a,a+n,cmp);//排名次 
	m*=1.5;//m * 150% 
	m=int(m);//向下取整 
	m--;//得到目标数字 
	for(int i=0;i<n;i++){
		if(a[i].score<a[m].score){//不到分数线就排除 
			n=i;
			break;
		}
	}
	cout<<a[m].score<<" "<<n<<endl;//输出分数线和录取人数 
	for(int i=0;i<n;i++){
		cout<<a[i].num<<" "<<a[i].score<<endl;//输出录取人名单 
	}
/*
//自测样例 
in
10 3
1001 98
1002 57
1003 84
1004 90
1005 88
1006 85
1007 76
1008 82
1009 92
1010 90
out
90 4
1001 98
1009 92
1010 90
1004 90
//已通过 
*/

	return 0;
}
2023/8/18 19:45
加载中...