玄关求助!!!
查看原帖
玄关求助!!!
1066333
dengyifan楼主2025/1/2 20:19

题目P5250

#include<bits/stdc++.h>
using namespace std;
long long n,m,a[1000000],cnt=0;
int main()
{
	cin>>n;
	for(int k=1;k<=n;k++)
	{
		long long len,op;
		cin>>op>>len;
		if(op==1)
		{
			long long b=lower_bound(a+1,a+1+cnt,len)-a;
			if(a[b]==len&&b<=cnt)
			{
				cout<<"Already Exist\n";
				continue;
			}
			cnt++;
			a[cnt]=len;
			sort(a+1,a+1+cnt);
		}
		else
		{
			if(cnt==0)
			{
				cout<<"Empty\n";
				continue;
			}
			if(cnt==1)
			{
				cout<<a[cnt]<<"\n";
				cnt--;
				continue;
			}
			long long b=lower_bound(a+1,a+1+cnt,len)-a;
			if(a[b]==len)
			{
				cout<<len<<"\n";
				cnt--;
				for(int i=b;i<=cnt;i++)
				{
					a[i]=a[i+1];
				}
			}
			else
			{
				if((a[b]-len)<(len-a[b-1]))
				{
					cout<<a[b]<<"\n";
					cnt--;
					for(int i=b;i<=cnt;i++)
					{
						a[i]=a[i+1];
					}
				}
				else
				{
					cout<<a[b-1]<<"\n";
					cnt--;
					for(int i=b-1;i<=cnt;i++)
					{
						a[i]=a[i+1];
					}
				}
			}
		}
	}
	return 0;
}
2025/1/2 20:19
加载中...