样例已过 0分求助
查看原帖
样例已过 0分求助
177534
Balanced_Tree楼主2020/10/25 21:00

本蒟蒻用的set,不知道为什么会错,求助,代码如下:

#include<bits/stdc++.h>
using namespace std;
set<int> s;
set<int>::iterator pre;
int n,flag,a,x,ans,sz,loc;
bool pd;
int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		pd=false;
		scanf("%d%d",&flag,&a);
		if(flag==5)
		s.insert(a);
		if(flag==4)
		{
			for(set<int>:: iterator it=s.begin();it!=s.end();it++)
			{
				if((*it)>a)
				{
					loc=*it;
					pd=true;
					break;
				}
			}
			if(pd==false)
			printf("2147483647\n");
			else
			cout<<loc<<endl;
		}
		if(flag==3)
		{
			pre=s.begin();
			if(a==(*s.begin()))
			printf("-2147483647\n");
			else
			for(set<int>:: iterator it=s.begin();it!=s.end();it++)
			{
				if((*it)>=a)
				{
					loc=*pre;
					break;
				}
				pre=it;
			}
			cout<<loc<<endl;
		}
		if(flag==2)
		{
			ans=0;
			for(set<int>::iterator it=s.begin();it!=s.end();it++)
			{
				ans++;
				loc=*it;
				if(ans==a)
				break;
			}
			cout<<loc<<endl;
		}
		if(flag==1)
		{
			ans=0;
			for(set<int>::iterator it=s.begin();it!=s.end();it++)
			{
				if((*it)>a)
				break;
				ans++;
			}
			cout<<ans<<endl;
		}
	}
	return 0;
}
2020/10/25 21:00
加载中...