只有测试点1对了
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<iomanip>
#include<cstring>
#include<cmath>
using namespace std;
struct node{
string no;
int s;
}stu[5050];
bool cmp(node a,node b){
if(a.s>b.s){
return 1;
}
else if(a.s==b.s){
if(a.no<b.no){
return 1;
}
else{
return 0;
}
}
else{
return 0;
}
}
int main(){
int n;
float m;
cin>>n>>m;
m=ceil(m*1.5);
for(int i=1;i<=n;i++){
cin>>stu[i].no>>stu[i].s;
}
sort(stu+1,stu+n+1,cmp);
int x=m;
cout<<stu[x].s<<" "<<m<<endl;
for(int i=1;i<=m;i++){
cout<<stu[i].no<<" "<<stu[i].s<<endl;
}
return 0;
}
求大神指教