为啥stack给RE掉了啊
查看原帖
为啥stack给RE掉了啊
205782
R浩轩泽Anmicius楼主2021/3/11 17:44

半年多没碰代码了,手生了

从零开始的RE世界生活

//#pragma GCC opitimize(2)
#include<iostream>
#include<cstdio>
#include<cstring>
#include<stack>
using namespace std;
const int N=3e5;
int q,n,a[N],res;
bool flag;
stack<int>s;
inline void read(int &x){
	x=0;int f=1;char ch=getchar();
	while(!isdigit(ch)){
		if(ch=='-')f=-1;
		ch=getchar();
	}
	while(isdigit(ch)){
		x=x*10+(ch^48);
		ch=getchar();
	}
	x*=f;
}
int main(){
	read(q);
	while(q--){
		res=1;flag=false;
		while(!s.empty())s.pop();
		read(n);
		for(register int i=1;i<=n;++i)
		read(a[i]);
		s.push(a[1]);
		for(register int i=1;i<=n;++i){
			int x;
			read(x);
			if(flag)continue;
			while(x!=s.top()&&res<n){
				++res;
				s.push(a[res]);
			}
			if(res==n&&s.top()!=x){
				flag=true;
				cout<<"No"<<'\n';
			}
			s.pop();
		}
		if(!flag)cout<<"Yes"<<'\n';
	}
	return 0;
}
2021/3/11 17:44
加载中...