目录
题目
思路
- 算出人数
- 排序
- 输出
- 如果同分也输出
- 否则break
code
#include<bits/stdc++.h>
using namespace std;
struct r {
int NO;
int f;
};
r arr[10000];
bool cmp(r a, r b) {
if (a.f > b.f) return 1;
if (a.f < b.f) return 0;
if (a.NO < b.NO) return 1;
if (a.NO > b.NO) return 0;
}
int main() {
int n, m;
cin >> n >> m;
m *= 1.5;
for (int i = 1; i <= n; i++) cin >> arr[i].NO >> arr[i].f;
sort(arr + 1, arr + n + 1, cmp);
cout << arr[m].f << ' ';
for (int i = m + 1; i <= n; i++) {
if (arr[i].f == arr[m].f) {
m++;
} else {
break;
}
}
cout << m << endl;
for (int i = 1; i <= m; i++) {
cout << arr[i].NO << ' ' << arr[i].f << endl;
}
return 0;
}