AcWing 438. 分数线划定
原题链接
简单
作者:
沙漠绿洲
,
2020-09-19 21:41:59
,
所有人可见
,
阅读 398
C++ 代码
#include <iostream>
#include <math.h>
#include <algorithm>
using namespace std;
using PII = pair<int, int>;
const int N = 5010;
PII a[N];
int n, m;
int main()
{
cin >> n >> m;
for(int i = 0; i < n; ++ i){
cin >> a[i].second >> a[i].first;
}
sort(a, a + n, [](const PII& p1, const PII& p2){
return p1.first > p2.first || (p1.first == p2.first && p1.second < p2.second);});
int cnt = floor(1.5 * m) - 1;
int it = cnt;
while(a[it].first == a[cnt].first) ++ it;
printf("%d %d\n", a[cnt].first, it);
for(int i = 0; i < it; ++ i)
printf("%d %d\n", a[i].second, a[i].first);
return 0;
}