#include #include #include #include #include using namespace std; struct town { int p; int x; }; struct cloud { int y; int r; }; bool acompare1(town lhs,town rhs) { return (lhs.p>rhs.p); } bool acompare2(cloud lhs,cloud rhs) { return (lhs.y>n; struct town t[n]; for(int i=0;i>t[i].p; } for(int i=0;i>t[i].x; } sort(t,t+n,acompare1); cin>>m; struct cloud c[m]; for(int i=0;i>c[i].y; } for(int i=0;i>c[i].r; } sort(c,c+m,acompare2); vector minn; vector maxx; for(int i=0;i=0) minn.push_back(c[i].y-c[i].r); else minn.push_back(0); maxx.push_back(c[i].y+c[i].r); } for(int i=0;i=minn[j] && t[i].x<=maxx[j]) { if(flag1==0) { flag1=1; res+=t[i].p; } else break; } else { res+=t[i].p; break; } } } cout<