#include<bits/stdc++.h>
using namespace std;
stack <int> q;
int n,t,cnt=1;
int main()
{
scanf("%d",&t);
for(int i=1;i<=t;i++)
{
int a[10005],b[10005];
scanf("%d",&n);
for(int j=1;j<=n;j++)scanf("%d",&a[j]);
for(int j=1;j<=n;j++)scanf("%d",&b[j]);
for(int j=1;j<=n;j++)
{
q.push(a[j]);
if(q.top()==b[cnt])
{
while(!q.empty()&&q.top()!=b[cnt])
{
q.pop();
cnt++;
}
}
}
for(int j=1;j<=n&&!q.empty();j++)if(q.top()==b[cnt])q.pop(),cnt++;
if(q.empty())printf("Yes\n");
else printf("No\n");
while(!q.empty())q.pop();
cnt=1;
}
return 0;
}
不是我看完所有帖子,规避了所有错误,但是0分