代码如下:
#include<bits/stdc++.h>
using namespace std;
struct node{
int k,s;
}man[5001];
bool cmp(node a,node b){
if(a.s>b.s) return 1;
else if(a.s==b.s) return a.k<b.k;
else return 0;
}
int main(){
int n,m,mt,mc,flag=0;
cin>>n>>m;
mt=floor(m*1.5);
for(int i=1;i<=n;++i){
cin>>man[i].k>>man[i].s;
}
sort(man+1,man+1+n,cmp);
mc=man[mt].s;
for(int i=2;i<=mt;++i){
if(man[i].s==man[i-1].s) flag++;
}
cout<<man[mt].s<<" "<<mt+flag<<endl;
for(int i=1;i<=mt+flag;++i){
if(man[i].s>=mc){
cout<<man[i].k<<" "<<man[i].s<<endl;
}else break;
}
return 0;
}
搞了很久 一直过不了。。