#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<iomanip>
#include<algorithm>
#include<cmath>
#include<vector>
#include<bitset>
#include<list>
#include<set>
#include<queue>
#include<map>
#include<stack>
#include<ctime>
#include<random>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
#define endl "\n"
const ll MAXN=1e6+50;
const ll inf=0x3f3f3f3f;
const ll infll=0x3f3f3f3f3f3f3f3f;
struct node{
int l,r,a,b;
}seg[MAXN];
int n,q;
bool cmp(const node &x,const node &y){
return x.l<y.l;
}
void solve(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>seg[i].l>>seg[i].r>>seg[i].a>>seg[i].b;
}
sort(seg+1,seg+n+1,cmp);
cin>>q;
while(q--){
int ind;
cin>>ind;
for(int i=1;i<=n;i++){
if(seg[i].l<=ind&&ind<=seg[i].r){
if(seg[i].b<=ind){
continue;
}
else{
ind=seg[i].b;
}
}
}
cout<<ind<<' ';
}
cout<<endl;
return;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int T;
cin>>T;
while(T--) solve();
return 0;
}
赛时写的贪心,正确性应该是对的,卡在对贪心过程的优化上了,有没有什么方法可以优化的