P1068 [NOIP 2009 普及组] 分数线划定
P1068 [NOIP 2009 普及组] 分数线划定 - 洛谷
按照题目排序就行
#include <iostream>
#include <algorithm>
using namespace std;
struct node{int val;int id;
}a[5005];
bool cmp(node a, node b) {if(a.val == b.val) return a.id < b.id;return a.val > b.val;
}
int main() {int n, m;cin >> n >> m;for(int i = 0; i < n; i++) cin >> a[i].id >> a[i].val;sort(a, a + n, cmp);m = m * 1.5;if(m >= n) m = n - 1;int cnt = m;for(int i = m; i < n; i ++) if(a[i].val >= a[m - 1].val) cnt ++;cout << a[m - 1].val << ' ' << cnt << '\n';for(int i = 0; i < cnt; i ++) cout << a[i].id << ' ' << a[i].val << '\n';return 0;
}