自己试了几个也没问题,为啥全错了!
#include<bits/stdc++.h>
using namespace std;
int a[100001];
int s[100001];
int main() {
int n;
int kkk;
cin>>kkk;
while(kkk--) {
cin>>n;
for(int i=0;i<n;i++){
cin>>s[i];
}
for(int i=0;i<n;i++){
cin>>a[i];
}
stack <int> t;
int i=0,xi=0;
while(1) {
if(i<n)t.push(s[i]);
if(t.top()!=a[xi]) {
if(i>=n) {
cout<<"NO"<<endl;
break;
}
i++;
} else {
t.pop();
xi++;
i++;
}
if(xi==n) {
cout<<"YES"<<endl;
break;
}
}
}
return 0;
}