本来会做了但是懒得写,结果发现题解里有说暴力 n2 能过,于是好奇的尝试了下,结果。。。。。

最优解
管理员不考虑改改数据?
代码
#include<bits/stdc++.h>
#define N 10000006
using namespace std;
int read()
{
int x=0,f=1;char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
return x*f;
}
int a[N],ans,n;
int main()
{
n=read();
for(int i=1;i<=n;i++)a[i]=read();
for(int i=1;i<=n;i++)
{
int tg=0,awa=0;
for(int j=i-1;j>=1;j--)
{
if(a[j]>a[i])
{
if(!tg)tg=1;
else break;
}
awa=max(awa,a[i]^a[j]);
}
if(tg)ans=max(ans,awa);
tg=0,awa=0;
for(int j=i+1;j<=n;j++)
{
if(a[j]>a[i])
{
if(!tg)tg=1;
else break;
}
awa=max(awa,a[i]^a[j]);
}
if(tg)ans=max(ans,awa);
}
cout<<ans<<"\n";
return 0;
}