Submission #1289444

#TimeUsernameProblemLanguageResultExecution timeMemory
1289444LIAFancy Fence (CEOI20_fancyfence)C++17
15 / 100
15 ms1864 KiB
//
// Created by liasa on 10/11/2025.
//

#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define vll vector<ll>
const ll mod = 1e9 + 7;

ll pw(ll a, ll b) {
  ll ans = 1;
  while (b) {
    if (b & 1) {
      ans = (ans * a) % mod;
      b--;
    }
    b /= 2;
    a = (a * a) % mod;
  }
  return ans;
}



ll invi(ll x) { return pw(x, mod - 2); }
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  ll n;
  cin >> n;
  vll h(n), w(n);
  ll H = 0, W = 0;
  for (ll i = 0; i < n; ++i)
    cin >> h[i];
  for (ll i = 0; i < n; ++i)
    cin >> w[i];
  for (ll i = 0; i < n; ++i) {
    H = max(H, h[i]);
    W += w[i];
  }
  auto mul = [&](ll a, ll b) -> ll {
    return (ll)((__int128)a * b % mod);
  };

  H++; W++;
  ll a = mul(H % mod, (H - 1) % mod);
  ll b = mul(W % mod, (W - 1) % mod);
  ll inv2 = invi(2);
  ll ans = mul(mul(a, b), mul(inv2, inv2));
  cout << ans;

}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...