大佬们帮帮忙看看
#include<bits/stdc++.h>
using namespace std;
struct goblin
{
int face;
string name;
}toys[100050];
int main()
{
int n,m,lr,num,nn=1,fn,temp=0; //1=out 0=in
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>toys[i].face>>toys[i].name;
fn=toys[1].face;
for(int i=1;i<=m;i++)
{
cin>>lr>>num; //11- 10+ 01+ 00-
temp=0;
if(lr==1)
{
if(toys[nn].face==1&&temp==0)
{
if(num>=nn) nn-=num-n;
else nn-=num;
temp=1;
}
if(toys[nn].face==0&&temp==0)
{
if(num+nn>=n) nn=num+nn-n;
else nn+=num;
temp=1;
}
}
if(lr==0)
{
if(toys[nn].face==0&&temp==0)
{
if(num>=nn) nn-=num-n;
else nn-=num;
temp=1;
}
if(toys[nn].face==1&&temp==0)
{
if(num+nn>=n) nn=num+nn-n;
else nn+=num;
temp=1;
}
}
}
cout<<toys[nn].name;
return 0;
}