1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| #include <bits/stdc++.h>
using namespace std;
const int LEN = 5001;
struct Node { int id_, score_; } arr[LEN];
int main() { int n, m; cin >> n >> m; for (int i = 0; i < n; ++i) { cin >> arr[i].id_ >> arr[i].score_; } sort(arr, arr + n, [](Node a, Node b) -> bool { if (a.score_ != b.score_) return a.score_ > b.score_; return a.id_ < b.id_; }); int average = arr[(int)(m * 1.5) - 1].score_, idx = 0; while (arr[idx].score_ >= average && idx < n) ++idx; cout << average << " " << idx << endl; for (int i = 0; i < idx; ++i, cout << endl) cout << arr[i].id_ << " " << arr[i].score_; return 0; }
|