帮我看看这个代码哪错了
#include<iostream>
using namespace std;
int main(){
	int n,m,i,a;
	cin>>n>>m;
	const int N=n;
	int o[N],q[N],z[N];
	char t[N];
	for(i=n-1;i>=0;i--){
		cin>>a>>t[i];
		if(a==0) o[i]=0;
		else o[i]=1;
	}
	for(i=0;i<m;i++){
		cin>>q[i]>>z[i];
	}
	for(i=0;i<m;i++){
		if(o[i]==0&&q[i]==0||o[i]==1&&q[i]==1){
			for(int j=0,w=0;j<z[i];j++,w++){
				if(w>=n) w=0;
				a=w;
			} 
		}
		if(o[i]==0&&q[i]==1||o[i]==1&&q[i]==0){
			for(int j=z[i]-1,w=0;j<=0;j--,w--){
				if(w<0) w=z[i]-1;
				a=w;
			} 
		}
	}
	cout<<t[a]<<endl;
	return 0;
}
这是P1563 玩具谜题