样例能过,测试re求调
查看原帖
样例能过,测试re求调
960223
_Forest_楼主2024/10/15 14:54
#include<bits/stdc++.h>
using namespace std;
int n,op,len;
set<int> se;
set<int>::iterator l,r,it;
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
    	cin>>op>>len;
		if(op==1)
		{
			if(se.count(len)==1)
			{
				cout<<"Already Exist"<<endl;
			}
			else
			{
				se.insert(len);
			}
		}
		else if(op==2)
		{
			if(se.empty()==1)
			{
				cout<<"Empty"<<endl; 
			} 
			else
			{
				r=se.lower_bound(len);
				//cout<<*r<<endl;
				if(se.size()==1)
				{
					cout<<*r<<endl;
					se.erase(r);
				}
				else if(*r!=len)
				{
					l=r;
					l--;
					//cout<<min(*r-len,len-*l)<<endl;
					if(*r-len<len-*l)
					{
						cout<<*r<<endl;
						se.erase(r);
					}
					else
					{
						cout<<*l<<endl;
						se.erase(l);
					}
				}
				else
				{
					cout<<*r<<endl;
					se.erase(r);
				}
			} 
		} 
	} 
    return 0;
}
2024/10/15 14:54
加载中...