#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int n, m;
pair<int, int> candidate[5000];
bool compare(const pair<int, int>& a, const pair<int, int>& b)
{
if (a.second > b.second || a.first < b.first && a.second == b.second)
return 1;
else
return 0;
}
int main()
{
int i, flag, temp;
cin >> n >> m;
for (i = 0; i < n; i++)
cin >> candidate[i].first >> candidate[i].second;
sort(candidate, candidate + n, compare);
for (i = 0; i + 1 <= 1.5 * m && i < n; i++) {}
flag = i - 1;
temp = candidate[i - 1].second;
if (temp == candidate[i].second)
{
for (; temp == candidate[i].second; i++) {}
flag = i - 1;
}
cout << candidate[flag].second << ' ' << flag + 1 << endl;
for (i = 0; i <= flag; i++)
cout << candidate[i].first << ' ' << candidate[i].second << endl;
return 0;
}
洛谷P1068 [NOIP2009 普及组] 分数线划定进阶解法
最新推荐文章于 2024-03-29 10:45:30 发布
该博客主要探讨了一种用于排序的算法实现,通过C++代码展示了如何对一组数据进行排序。博客首先介绍了排序的重要性,然后详细解释了自定义比较函数在排序过程中的应用,并给出了一个基于比较函数的排序实例。最后,博主分析了算法的时间复杂度,讨论了其效率和适用场景。
摘要由CSDN通过智能技术生成