为什么连第一个点都过不去
查看原帖
为什么连第一个点都过不去
734065
oya157楼主2024/10/23 17:13
#include<bits/stdc++.h>
using namespace std;
int p[1000000];
int sum=0,i;
void op1(int x)
{
	i=lower_bound(p+1,p+sum+1,x)-p;
	cout<<i<<endl;
}
void op2(int x)
{
	i=p[x];
	cout<<i<<endl;
}
void op3(int x)
{
	i=lower_bound(p+1,p+sum+1,x)-p;
	cout<<p[i-1]<<endl;
}
void op4(int x)
{
	if(p[1]==x)
	{
		cout<<-2147483647<<endl;
		return ; 
	}
	i=lower_bound(p+1,p+sum+1,x)-p;
	cout<<p[i+1]<<endl;
}
void op5(int x)
{
	
	if(p[sum]==x)
	{
		cout<<2147483647<<endl;
		
		return;
	}
	sum++;
	p[sum]=x;
	sort(p+1,p+sum+1);
}

int main()
{
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		int op,x;
		cin>>op>>x;
		if(op==1)op1(x);
		else if(op==2)op2(x);
		else if(op==3)op3(x);
		else if(op==4)op4(x);
		else if(op==5)op5(x);
	}
} 
2024/10/23 17:13
加载中...