Advertisement
Valkyrie006

Untitled

Aug 12th, 2021
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.89 KB | None | 0 0
  1. void solve()
  2. {
  3.     ll n;
  4.     cin >> n;
  5.     multiset<ll> A, B;
  6.     for (ll i = 0; i < n; i++)
  7.     {
  8.         ll a;
  9.         cin >> a;
  10.         A.insert(a);
  11.     }
  12.     for (ll i = 0; i < n; i++)
  13.     {
  14.         ll b;
  15.         cin >> b;
  16.         B.insert(b);
  17.     }
  18.     while (B.size() && *(B.begin()) == 1)
  19.     {
  20.         ll x = *(A.begin());
  21.         A.erase(A.find(x));
  22.         ll y = *(B.begin());
  23.         B.erase(B.find(y));
  24.         x = (x + y);
  25.         A.insert(x);
  26.     }
  27.     while (B.size() && *(A.begin()) == 1)
  28.     {
  29.         ll x = *(A.begin());
  30.         A.erase(A.find(x));
  31.         ll y = *(B.begin());
  32.         B.erase(B.find(y));
  33.         x = (x + y);
  34.         A.insert(x);
  35.     }
  36.     ll mx = 1;
  37.     for (auto a : A)
  38.     {
  39.         mx = (mx * (a % mod)) % mod;
  40.     }
  41.     for (auto b : B)
  42.     {
  43.         mx = (mx * (b % mod)) % mod;
  44.     }
  45.     cout << mx << endl;
  46.     return;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement