简单
2024-09-17 08:21:47
发布于:浙江
12阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
struct zyz{//定义一个志愿者的结构体
int id;//编号
int fs;//分数
}a[5001];//定义结构体数组
int n,m;//定义n和m
bool cmp(zyz x,zyz y){//排序规则
if(x.fs!=y.fs){//如果x的分数跟y不一样,就比较分数。否则比较编号
return x.fs>y.fs;
}else{
return x.id<y.id;
}
}
int main(){
cin>>n>>m;//输入
for(int i = 1;i<=n;i++){
cin>>a[i].id>>a[i].fs;
}
sort(a+1,a+n+1,cmp);//排序
m*=1.5;//m*150%=m*1.5
int fsx = a[m].fs;//定义分数线
int sum = 0;//所有通过的志愿者总数
for(int i = 1;i<=n;i++){
if(a[i].fs>=fsx){//判断是否>=分数线
sum++;
}
}
printf("%d %d\n",fsx,sum);//我觉得用printf方便一些(个人理解勿喷)
for(int i = 1;i<=n;i++){//重新遍历
if(a[i].fs>=fsx){
printf("%d %d\n",a[i].id,a[i].fs);//我觉得用printf方便一些
}
}
return 0;
}
在最后,也祝大家早日AC!!!
这里空空如也
有帮助,赞一个