#include using namespace std; long SegmentTree[400006]; long Line[400006]; void BuildTree(long idx,long left,long right,long A[]){ if(left == right){ SegmentTree[idx] = A[left]; } else{ long mid = (left+right)/2; BuildTree(2*idx+1,left,mid,A); BuildTree(2*idx+2,mid+1,right,A); SegmentTree[idx] = SegmentTree[2*idx+1]+SegmentTree[2*idx+2]; } } long Query(long left,long right,long Start,long End,long idx){ if(left > End || right < Start) return 0; if(Start <= left && End >=right) return SegmentTree[idx]; long mid = (left+right)/2; return Query(left,mid,Start,End,2*idx+1)+Query(mid+1,right,Start,End,2*idx+2); } long maximumPeople(vector p, vector x, vector y, vector r) { // Return the maximum number of people that will be in a sunny town after removing exactly one cloud. long long sum = 0; long ans = 0; long mVal = -1; for(long i=0;i> n; vector p(n); for(int p_i = 0; p_i < n; p_i++){ cin >> p[p_i]; } vector x(n); for(int x_i = 0; x_i < n; x_i++){ cin >> x[x_i]; } int m; cin >> m; vector y(m); for(int y_i = 0; y_i < m; y_i++){ cin >> y[y_i]; } vector r(m); for(int r_i = 0; r_i < m; r_i++){ cin >> r[r_i]; } long result = maximumPeople(p, x, y, r); cout << result << endl; return 0; }