本蒟蒻用的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;
}