#include <bits/stdc++.h>
#define all(x) x.begin(), x.end()
#define len(s) (ll) s.size()
#define pb push_back
#define F first
#define S second
using namespace std;
typedef long long ll;
const int N = 5e5 + 17;
const int P = 31;
const int mod = 1e9 + 7;
const ll inf = 1e18;
ll n, res;
ll a[N], b[N], h[N], p[N], s[N];
signed main(){
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
cin >> n;
for(ll i = 1; i <= n; i++) cin >> a[i];
for(ll i = 1; i <= n; i++) cin >> b[i];
for(ll msk = 0; msk < (1 << n); msk++){
for(ll i = 0; i < n; i++){
if((msk >> i & 1)) h[i + 1] = a[i + 1];
else h[i + 1] = b[i + 1];
}
ll cur = res;
for(ll i = 1; i <= n; i++) p[i] = max(p[i - 1], h[i]);
for(ll i = n; i >= 1; i--) s[i] = max(s[i + 1], h[i]);
for(ll i = 1; i <= n; i++) res += max(min(p[i - 1], s[i + 1]) - h[i], 0ll);
}
cout << res;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |