求助
查看原帖
求助
482253
CZKWEN543楼主2022/10/15 08:38
#include<bits/stdc++.h>
using namespace std;

stack<int>q;
int p, n;
int a[100005], b[100005], sum=1;

int main(){
	cin>>p;
	while(p--){
		cin>>n;
		for(int i=1;i<=n;i++) cin>>a[i];
		for(int i=1;i<=n;i++) cin>>b[i];
		for(int i=1;i<=n;i++){
			q.push(a[i]);
			while(q.top()==b[sum]){
				q.pop();
				sum++;
				if(q.empty()) break;
			}
		}
		if(q.empty()) cout<<"Yes\n";
		else cout<<"No\n";
		while(!q.empty()) q.pop();
	}
	return 0;
}
2022/10/15 08:38
加载中...