Guest User

Untitled

a guest
Nov 12th, 2022
360
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.16 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. int main() {
  3.     // reading:
  4.     std::ios::sync_with_stdio(false);
  5.     std::cin.tie(0);
  6.     int n; std::cin >> n;
  7.     std::multiset<int> r, q;
  8.     for (int i = 0; i < n; i++) {
  9.         int val;
  10.         std::cin >> val;
  11.         r.insert(val);
  12.     }
  13.     for (int i = 0; i < n; i++) {
  14.         int val;
  15.         std::cin >> val;
  16.         q.insert(val);
  17.     }
  18.     // solving
  19.     int answ{};
  20.     // worst person tries to defeat a strongest person:
  21.     for (auto it = r.begin(); it != r.end(); ) {
  22.         if (auto jt = q.lower_bound(*it); jt != q.begin()) {
  23.             q.erase(std::prev(jt));
  24.             it = r.erase(it);
  25.             answ++;
  26.         } else // leave him along if he can't defeat someone
  27.             it++;
  28.     }
  29.     // each person tries to do at least a draw:
  30.     for (auto it = r.begin(); it != r.end(); ) {
  31.         if (auto jt = q.lower_bound(*it); jt != q.end() && *jt == *it) {
  32.             q.erase(jt);
  33.             it = r.erase(it);
  34.         } else
  35.             it++;
  36.     }
  37.     // rest team members will lose:
  38.     answ -= (int)r.size();
  39.     // printing an answer:
  40.     std::cout << answ << std::endl;
  41.     return 0;
  42. }
Advertisement
Add Comment
Please, Sign In to add comment