Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- int main() {
- // reading:
- std::ios::sync_with_stdio(false);
- std::cin.tie(0);
- int n; std::cin >> n;
- std::multiset<int> r, q;
- for (int i = 0; i < n; i++) {
- int val;
- std::cin >> val;
- r.insert(val);
- }
- for (int i = 0; i < n; i++) {
- int val;
- std::cin >> val;
- q.insert(val);
- }
- // solving
- int answ{};
- // worst person tries to defeat a strongest person:
- for (auto it = r.begin(); it != r.end(); ) {
- if (auto jt = q.lower_bound(*it); jt != q.begin()) {
- q.erase(std::prev(jt));
- it = r.erase(it);
- answ++;
- } else // leave him along if he can't defeat someone
- it++;
- }
- // each person tries to do at least a draw:
- for (auto it = r.begin(); it != r.end(); ) {
- if (auto jt = q.lower_bound(*it); jt != q.end() && *jt == *it) {
- q.erase(jt);
- it = r.erase(it);
- } else
- it++;
- }
- // rest team members will lose:
- answ -= (int)r.size();
- // printing an answer:
- std::cout << answ << std::endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment