题目类型:排序
题目链接:https://www.luogu.org/problemnew/show/P1068
过于简单,不予讲解
代码:
//
// Created by Leo Lee on 2019/6/13.
//
#include <iostream>
#include <algorithm>
using namespace std;
struct peo{
int id;
int score;
};
int N,M;
int level;//分数线
int peoin;//进入面试的人数
peo list[5005];
bool cmp(peo p1,peo p2);
int main(){
cin>>N>>M;
for(int i = 0;i<N;i++){
scanf("%d %d",&list[i].id,&list[i].score);
}
sort(list,list+N,cmp);
peoin = int(M*1.5);
level = list[peoin-1].score;
for(int i = peoin;i<N;i++){
if(list[i].score==list[peoin-1].score){
peoin++;
} else{
break;
}
}
cout<<level<<" "<<peoin<<endl;
for(int i = 0;i<peoin;i++){
cout<<list[i].id<<" "<<list[i].score<<endl;
}
return 0;
}
bool cmp(peo p1,peo p2){
if(p1.score!=p2.score){
return p1.score>p2.score;
} else{
return p1.id<p2.id;
}
}