Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void solve()
- {
- ll n;
- cin >> n;
- multiset<ll> A, B;
- for (ll i = 0; i < n; i++)
- {
- ll a;
- cin >> a;
- A.insert(a);
- }
- for (ll i = 0; i < n; i++)
- {
- ll b;
- cin >> b;
- B.insert(b);
- }
- while (B.size() && *(B.begin()) == 1)
- {
- ll x = *(A.begin());
- A.erase(A.find(x));
- ll y = *(B.begin());
- B.erase(B.find(y));
- x = (x + y);
- A.insert(x);
- }
- while (B.size() && *(A.begin()) == 1)
- {
- ll x = *(A.begin());
- A.erase(A.find(x));
- ll y = *(B.begin());
- B.erase(B.find(y));
- x = (x + y);
- A.insert(x);
- }
- ll mx = 1;
- for (auto a : A)
- {
- mx = (mx * (a % mod)) % mod;
- }
- for (auto b : B)
- {
- mx = (mx * (b % mod)) % mod;
- }
- cout << mx << endl;
- return;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement