#include<bits/stdc++.h>
using namespace std;
int i, n, m, f, num, k[5010], s[5010], sub[5010];
bool cmp(int a, int b) {
if (s[a] == s[b]) {
return k[a] < k[b];
} else {
return s[a] > s[b];
}
}
int main() {
cin >> n >> m;
for (int i = 1; i <= n; i++) {
cin >> k[sub[i] = i] >> s[i];
}
sort(sub + 1, sub + n + 1, cmp);
f = s[sub[int(m * 1.5)]];
for (int i = 1; s[sub[i]] >= f; i++) {
num++;
}
cout << f << " " << num << endl;
for (int i = 1; s[sub[i]] >= f; i++) {
cout << k[sub[i]] << " " << s[sub[i]] << endl;
}
return 0;
}
哪位大佬,可以给我讲讲这份代码,尤其是
cin >> k[sub[i] = i] >> s[i];
里面k数组的输入是什么意思,还有上面的那个cmp函数,对应下面的sort排序。蟹蟹