Pagini recente » Cod sursa (job #1897122) | Cod sursa (job #203858) | Cod sursa (job #219703) | Cod sursa (job #1376088) | Cod sursa (job #138593)
Cod sursa(job #138593)
#include<stdio.h>
FILE *fin=freopen("xormax.in","r",stdin),
*fout=freopen("xormax.out","w",stdout);
long n,a[100001],x[100001];
void citire()
{
scanf("%ld",&n);
for(int i=0;i<n;i++)
scanf("%ld",&a[i]);
}
void solve()
{
x[0]=a[0];
long max=x[0],poz=0;
for(int i=1;i<n;i++)
{
x[i]=((x[i-1]^a[i])>a[i])?x[i-1]^a[i]:a[i];
if(x[i]>max) max=x[i],poz=i;
}
long pom=poz;
while((x[pom-1]^a[pom])==x[pom])
pom--;
printf("%ld %ld %ld",max,pom+1,poz+1);
}
int main()
{
citire();
solve();
return 0;
}