juruo 求助,about set<>
查看原帖
juruo 求助,about set<>
335094
Lucifero楼主2021/4/5 11:57
#include <bits/stdc++.h>
#define it set<int>::iterator
using namespace std;
set<int> c;
int main()
{
	//木材仓库
	int T,o,L;
	scanf("%d",&T);
	while(T--)
	{
		scanf("%d%d",&o,&L);
		if (o==1)
		{
			if (c.count(L)!=0)
				printf("Already Exist\n");
			else c.insert(L);
		}
		else if (o==2)
		{
			if (c.empty())
				printf("Empty\n");
			else if (c.count(L)!=0)
			{
				c.erase(L);
				printf("%d\n",L);
			}
			else
			{
				c.insert(L);
				it k=c.find(L);
				it nxt=k;nxt++;
				it pre=k;pre--;
				if (k==c.begin())
				{
					printf("%d\n",*nxt);
					c.erase(nxt);
				}
				else if (nxt==c.end())
				{
					printf("%d\n",*pre);
					c.erase(pre);
				}
				else if (L-(*pre)>(*nxt)-L)
				{
					printf("%d\n",*nxt);
					c.erase(nxt);
				}
				else
				{
					printf("%d\n",*k);
					c.erase(k);
				}
				c.erase(L);
			}
		}
	}
}
2021/4/5 11:57
加载中...