不知道哪里错了,求助
#include <bits/stdc++.h>
using namespace std;
int main()
{
int i,j,q,n,a[100001],b[100001],cnt=0;
stack<int> p;
cin>>q;
for(i=0;i<q;i++){
cin>>n;
for(j=0;j<n;j++){
cin>>a[j];
}
for(j=0;j<n;j++){
cin>>b[j];
}
for(j=0;j<n;j++){
p.push(a[j]);
while(!p.empty()&&p.top()==b[cnt]){
p.pop();
cnt++;
}
}
if(p.empty()){
cout<<"Yes"<<endl;
}else{
cout<<"No"<<endl;
}
while(!p.empty()){
p.pop();
}
}
return 0;
}