#include #include #include #include #include #include #include long int maximumPeople(int pn, long int* p, int xn, long int* x, int yn, long int* y, int rn, long int* r) { // Return the maximum number of people that will be in a sunny town after removing exactly one cloud. long max=0,count=0; for(int i=0;i=y[i]-r[i] && x[j]<=y[i]+r[i] && maxy[i]+r[i]) { count+=p[j]; } } } return count+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; }