#include #include #include #include #include #include #include long int maximumPeople(int p_size, long int* p, int x_size, long int* x, int y_size, long int* y, int r_size, long int* r) { long int max_people=-1,i=0,cur,j=0,i_sum=0; long int dark[x_size],ind=0; for(i=0;i= y[i]-r[i] && x[j]<=y[i]+r[i])) { i_sum+=p[j]; } } } for(i=0;i= y[i]-r[i] && x[j]<=y[i]+r[i]) { cur +=p[j]; } } cur = cur+i_sum; if(cur>max_people){ max_people = cur; } } return max_people; } 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; }