#include #include #include #include #include #include #include long int maximumPeople(int n, long int* p, int x_size, long int* x, int y_size, long int* y, int r_size, long int* r ) { // Return the maximum number of people that will be in a sunny town after removing exactly one cloud. int i,l,m; int b,c; int ans=0,max=0,sum=0; for(i=0;i=j&&x[l]<=k) sum=sum+p[l]; } if(max>=sum) { max=sum; b=j; c=k; sum=0; } else { sum=0; } for(i=0;i=j&&x[i]<=k) continue; else ans=ans+p[i]; } } return ans+max; } int main() { int n; scanf("%i", &n); long int *p = malloc(sizeof(long int) * n); for (int p_i = 0; p_i < n; p_i++) { scanf("%li",&p[p_i]); } long int *x = malloc(sizeof(long int) * n); for (int x_i = 0; x_i < n; x_i++) { scanf("%li",&x[x_i]); } int m; scanf("%i", &m); long int *y = malloc(sizeof(long int) * m); for (int y_i = 0; y_i < m; y_i++) { scanf("%li",&y[y_i]); } long int *r = malloc(sizeof(long int) * m); for (int r_i = 0; r_i < m; r_i++) { scanf("%li",&r[r_i]); } long int result = maximumPeople(n, p, n, x, m, y, m, r); printf("%ld\n", result); return 0; }