题解如下
2024-02-02 10:00:34
发布于:广东
6阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int n,m;
struct stu{
string name;
int sum;
}a[100001];
bool cmp(stu aa,stu bb){
if(aa.sum!=bb.sum) return aa.sum>bb.sum;
else return aa.name < bb.name;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>a[i].name>>a[i].sum;
sort(a+1,a+1+n,cmp);
int x = m*150/100;
int xian = a[x].sum;//具体分数线
int cnt=0;
for(int i=1;i<=n;i++){
if(a[i].sum >= xian){
cnt++;
}
}
cout<<xian<<" "<<cnt<<endl;
for(int i=1;i<=cnt;i++){
cout<<a[i].name<<" "<<a[i].sum<<endl;
}
return 0;
}
全部评论 1
较长版
2024-02-02 来自 广东
0
有帮助,赞一个