//teja349 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include //setbase - cout << setbase (16); cout << 100 << endl; Prints 64 //setfill - cout << setfill ('x') << setw (5); cout << 77 << endl; prints xxx77 //setprecision - cout << setprecision (14) << f << endl; Prints x.xxxx //cout.precision(x) cout<=b;i--) #define pb push_back #define mp make_pair #define vi vector< int > #define vl vector< ll > #define ss second #define ff first #define ll long long #define pii pair< int,int > #define pll pair< ll,ll > #define sz(a) a.size() #define inf (1000*1000*1000+5) #define all(a) a.begin(),a.end() #define tri pair #define vii vector #define vll vector #define viii vector #define mod (1000*1000*1000+7) #define pqueue priority_queue< int > #define pdqueue priority_queue< int,vi ,greater< int > > #define flush fflush(stdout) #define primeDEN 727999983 mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); #define int ll // find_by_order() // order_of_key typedef tree< int, null_type, less, rb_tree_tag, tree_order_statistics_node_update> ordered_set; int seg[4123456],lazy[4123456]; struct total{ int tim,bus; int a[4]; }; total arr[1234567]; int dp[1234567]; ll iinf; int query(int node,int s,int e,int l,int r){ // if(seg[node]<0) // cout<<"das"< remover(1234567); signed main(){ std::ios::sync_with_stdio(false); cin.tie(NULL); int t; cin>>t; while(t--){ int m,i; cin>>m; iinf=inf; iinf*=inf; rep(i,m){ cin>>arr[i].tim; arr[i].bus=1; } arr[m].tim=-inf; arr[m].bus=1; m++; int n; cin>>n; f(i,m,n+m){ cin>>arr[i].tim; arr[i].bus=0; } rep(i,n+m){ remover[i].clear(); } build(1,0,n+m); int j,k; rep(j,4){ f(i,m,m+n){ cin>>arr[i].a[j]; } } sort(arr,arr+n+m,comp); vi vec; rep(i,n+m){ vec.pb(arr[i].tim); } int lol; rep(i,n+m){ if(arr[i].bus) continue; nexti[i]=lower_bound(all(vec),arr[i].tim+arr[i].a[2])-vec.begin(); lol=upper_bound(all(vec),arr[i].tim-arr[i].a[0])-vec.begin(); remover[lol].pb(i); //cout<