80分TLE求助!
查看原帖
80分TLE求助!
727871
lizhehao2009楼主2022/8/27 12:46
#include<bits/stdc++.h>
using namespace std;
list<int> l{1,0};
int main()
{
	int q,flag,x,y;
	scanf("%d",&q);
	while (q--)
	{
        scanf("%d",&flag);
		if (flag==1)
		{
			scanf("%d%d",&x,&y);
			auto it=l.begin(),jt=l.end();
			while (*it!=x&&*jt!=x)
			{
				it++;
				jt--;
			}
			if (*it==x)
			{
                l.insert(++it,y);
			}
			else
			{
			    l.insert(++jt,y);
			}
		}
		else if (flag==2)
		{
			scanf("%d",&x);
			auto it=l.begin(),jt=l.end();
			while (*it!=x&&*jt!=x)
			{
				it++;
				jt--;
			}
			if (*it==x)
			{
				printf("%d\n",*(++it));
			}
			else
			{
                printf("%d\n",*(++jt));
			}
		}
		else
		{
		    scanf("%d",&x);
			auto it=l.begin(),jt=l.end();
			while (*it!=x&&*jt!=x)
			{
				it++;
				jt--;
			}
			if (*it==x)
			{
                l.erase(++it);
			}
			else
			{
			    l.erase(++jt);
			}
		}
	}
	return 0;
}
2022/8/27 12:46
加载中...