样例对的,结果上传后只对了八个(吐血
代码如下:
#include <iostream>
#include <algorithm>
using namespace std;
const int MAXN = 5001;
struct player{
public:
int score;
int id;
};
bool cmp(player a, player b){
return a.score > b.score;
}
bool cmp2(player a, player b){
return a.id < b.id;
}
struct player players[MAXN];
int n, m;
int main(){
cin >> n >> m;
for(int i = 1; i <= n; i++){
cin >> players[i].id >> players[i].score;
}
sort(players + 1, players + n + 1, cmp2);
sort(players + 1, players + n + 1, cmp);
int t = m * 1.5, ans = 0;
for(int i = 1; i <= n; i++){
if(players[i].score >= players[t].score){
ans++;
}
}
cout << players[t].score << " " << ans << endl;
for(int i = 1; i <= ans; i++){
cout << players[i].id << " " << players[i].score << endl;
}
return 0;
}