看起来很难,实际上很水
2025-04-23 12:43:15
发布于:广东
0阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
struct Node{
int k; // id
int s; // 成绩
}a[100010];
int n, m;
bool cmp(Node x, Node y){
if (x.s!=y.s) return x.s>y.s;
return x.k<y.k;
}
int main(){
cin >> n >> m;
for (int i=1;i<=n;i++){
cin >> a[i].k >> a[i].s;
}
sort(a+1, a+n+1, cmp);
int temp = m*1.5;
int ans1=0;
int ans2 = 0;
while (a[temp+1].s==a[temp].s && temp<=n) temp++;
ans2 = temp;
ans1 = a[ans2].s;
cout << ans1 << " " << ans2 << "\n";
for (int i=1;i<=ans2;i++){
cout << a[i].k << " " << a[i].s << "\n";
}
return 0;
}
这里空空如也
有帮助,赞一个