set求调,样例输出都不对,但是找不到错
查看原帖
set求调,样例输出都不对,但是找不到错
1147417
Ashkadira楼主2024/8/19 10:35
using namespace std;
set<int> s;
int n;
set<int>::iterator it,it1;
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		int x,len;
		cin>>x>>len;
		if(x==1)
		{
			if(s.count(len))cout<<"Already Exist"<<endl;
			else s.insert(len);
		}
		if(x==2)
		{
			if(s.empty())cout<<"Empty"<<endl;
			else 
			{
				it=it1=s.lower_bound(len);
				if(it==s.begin())
				{
					cout<<*it<<endl;
					s.erase(it);
				}
				if(it==s.end())
				{
					cout<<*(--it1)<<endl;
					s.erase(*it1);
				}
				if(*it-len>=len-*(--it1))
				{
					cout<<*it1<<endl;
					s.erase(it1);
				}
				else
				{
					cout<<*it<<endl;
					s.erase(it);
				}	
			}
		}		
	}

	return 0;
}
2024/8/19 10:35
加载中...