题目链接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1180
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
const int N = 5010;
struct Student
{
int id;
int score;
} stu[N];
bool cmp(const Student &x, const Student &y)
{
if (x.score != y.score)
{
return x.score > y.score;
}
else
{
return x.id < y.id;
}
}
int main()
{
int n, m;
scanf("%d %d", &n, &m);
for (int i = 1; i <= n; i++)
{
scanf("%d %d", &stu[i].id, &stu[i].score);
}
sort(stu + 1, stu + n + 1, cmp);
int cnt = m * 1.5;
int scoreline = stu[cnt].score;
while (stu[cnt + 1].score == scoreline)
{
cnt++;
}
printf("%d %d\n", scoreline, cnt);
for (int i = 1; i <= cnt; i++)
{
printf("%d %d\n", stu[i].id, stu[i].score);
}
return 0;
}